15.07.2008, 12:48
общий
это ответ
Здравствуйте, Войнова Вера Леонидовна!
А что тут сложного? В приложении пример, в котором вообще не использовано никаких дополнительных переменных. Для этого используется операция XOR.
Как работает, лучше всего разобраться "вручную". Знаете, что такое XOR? Если не очень, напишите - объясню
Приложение:
CONST N = 10;TYPE TMatr = array[1..N, 1..N] of integer;procedure Show(M: TMatr);var i, j: Integer;begin for i:=1 to N do begin for j:=1 to N do Write(m[i,j]:5); WriteLn end;end;VAR A: TMatr; i,j: Integer;BEGIN WriteLn; for i:=1 to N do for j:=1 to N do A[i,j] := Random(200)-100; Show(A); for i:=1 to N do for j:=1 to N do if j > i then begin A[i,j] := A[i,j] xor A[j,i]; A[j,i] := A[j,i] xor A[i,j]; A[i,j] := A[i,j] xor A[j,i] end; WriteLn; Show(A);END.