Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Дано: 2 действительных числа X и Y. Присвоить переменной X значение Y, а переменной Y значение X

Анастасия Ганшина Ученик (156), на голосовании 7 лет назад
Помогите пожалуйста!!!!
Голосование за лучший ответ
Андрей Панарин Искусственный Интеллект (274408) 7 лет назад
Допустим, X = a, Y = b.

Если сделать так:
X := X + Y;

То получится X = a + b, Y = b

Теперь делаем так:
Y := X − Y;

Получаем X = a + b; Y = a + b − b; Y = a

Осталось избавиться от a в иксе:
X := X − Y;

Теперь X = a + b − a; X = b; Y = a

Магия.

+++ Другой способ — использовать третью переменную:

Z := X;
X := Y;
Y := Z;
Анастасия ГаншинаУченик (156) 7 лет назад
Спасибо))
Сергей Логинов Оракул (87571) 7 лет назад
Это нерешённая проблема: она так и называется — "проблема своппинга".

Её не решить без третьей переменной Z.

Решается она в три действия:

Z = X; X = Y; Y = Z.

Пока только так.
Похожие вопросы