Логическая операция ⊕ - это "исключающее ИЛИ" (xor в языках Паскаль, Бейсик и т.д.), а → операция присваивания. Тогда a⊕b→a; a⊕b→b; a⊕b→a - это был обмен значениями a ↔ b Теперь по этой же схеме обменяем местами b и с: b⊕c→b; b⊕c→с; b⊕c→b. Результат: b→a; c→b; a→c
Программа для иллюстрации: // PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var a:=50; var b:=-20; var c:=0; Println('Исходные значения: a=',a,'b=',b,'c=',c); a:=a xor b; b:=a xor b; a:=a xor b; b:=b xor c; c:=b xor c; b:=b xor c; Println('Результат обмена: a=',a,'b=',b,'c=',c) end.
Uses Crt; const n=10; var a,b:array[1..n] of integer; i,k,t:integer; begin ClrScr; Randomize; for i:=1 to n do begin a[i]:=Random(50); Write(a[i],' ') end; Writeln; for i:=1 to n do begin b[i]:=Random(50); Write(b[i],' ') end; Writeln; Write('k t='); Read(k,t); for i:=1 to n do begin if a[i]>t then a[i]:=a[i]+4; Write(a[i],' ') end; Writeln; for i:=1 to n do begin if b[i]>10*k then b[i]:=b[i]+k; Write(b[i],' ') end; Readkey end.
Тогда a⊕b→a; a⊕b→b; a⊕b→a - это был обмен значениями a ↔ b
Теперь по этой же схеме обменяем местами b и с:
b⊕c→b; b⊕c→с; b⊕c→b.
Результат: b→a; c→b; a→c
Программа для иллюстрации:
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
var a:=50;
var b:=-20;
var c:=0;
Println('Исходные значения: a=',a,'b=',b,'c=',c);
a:=a xor b; b:=a xor b; a:=a xor b;
b:=b xor c; c:=b xor c; b:=b xor c;
Println('Результат обмена: a=',a,'b=',b,'c=',c)
end.
Результат:
Исходные значения: a= 50 b= -20 c= 0
Результат обмена: a= -20 b= 0 c= 50
const
n=10;
var
a,b:array[1..n] of integer;
i,k,t:integer;
begin
ClrScr;
Randomize;
for i:=1 to n do begin
a[i]:=Random(50);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n do begin
b[i]:=Random(50);
Write(b[i],' ')
end;
Writeln;
Write('k t='); Read(k,t);
for i:=1 to n do begin
if a[i]>t then a[i]:=a[i]+4;
Write(a[i],' ')
end;
Writeln;
for i:=1 to n do begin
if b[i]>10*k then b[i]:=b[i]+k;
Write(b[i],' ')
end;
Readkey
end.
Тестовое решение:
1 6 23 12 47 1 44 24 6 18
31 30 30 29 0 3 43 32 46 21
k t=2 20
1 6 27 12 51 1 48 28 6 18
33 32 32 31 0 3 45 34 48 23