Prohození obsahu dvou proměnných umí úplně každý. Kdo to ale zvládne bez použití pracovní proměnné? :smile5:
(třetí procedura je obzvlášť půvabná)
Procedure Prohozeni1(var a,b:integer);
var t:integer;
begin
t:=a;
a:=b;
b:=t;
end;
Procedure Prohozeni2(var a,b:integer);
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;
Procedure Prohozeni3(var a,b:integer);
begin
a:=a xor b;
b:=a xor b;
a:=a xor b;
end;