Как вы уже заметили код, исполняющий взаимозамену значений переменных уже был опубликован. Мой коллега предлагает свой вариант…
Program ChngVar; var a,b:real; begin a := a - b; b:=b + a; a:=b - a; end.
Также человек с ником Volk предложил свой вариант, использующий двоичную арифметику и предотвращающий возникновение ошибок при работе с маленькими числами:
a = 101 (двоичная) b = 110 (двоичная) =========================== a := a XOR b; {101 XOR 110 = 011} b := b XOR a; {110 XOR 011 = 101} a := a XOR b; {011 XOR 101 = 110} ===========================
Comments ( 0 )