Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   поменять значение переменных... (https://forum.antichat.xyz/showthread.php?t=62139)

gold-goblin 19.02.2008 00:50

поменять значение переменных...
 
есть задание на паскале суть его проста.
Дано:
x:=y;
y:=x;

надо без использования лишней переменной сделать так чтобы получилось
X:=x;
y:=y;

Предложите выриант решения

Kaimi 19.02.2008 00:53

Код:

X=X XOR Y;
Y=X XOR Y;
X=X XOR Y;


gold-goblin 19.02.2008 01:03

Kaimi
это пракатит вроде только если значения числовые.... а надо именно с буквиными...
(паскаля под рукой нет чтоб проверить)

diehard 19.02.2008 01:03

x:=x+y;
y:=x-y;
x:=x-y;

gold-goblin 19.02.2008 01:05

diehard
а если значения буквенные?

KoMPLiMenT 19.02.2008 01:22

void swap(int& i, int& j)
{
i ^= j;
j ^= i;
i ^= j;
}

сорри паскаль благополучно забыл

gold-goblin 19.02.2008 01:28

а по проще? :)
просто так я сам сделать могу но мы только начали проходить паскаль и я боюсь училка меня не правельно поймет....

diehard 19.02.2008 01:28

gold-goblin

Все буквы (char) имеют численный charcode (в паскале функции ord() и обратная chr())

gold-goblin 19.02.2008 01:30

diehard
а ну в принцыпе можно и так.
(сам не додумался)
есть еще вырианты?

zl0y 19.02.2008 01:31

Длинна строк постоянна?


Время: 14:30