Как поменять местами значение 3 переменное без ввода еще одной переменной.

Как поменять местами значение 3 переменное без ввода еще одной переменной.

Задать свой вопрос
Dobrynin Egor
поконкретнее можно? а желанно с кодом
Эмилия Матоян
123a:=a+b;b:=a-b;a:=a-b;,вот так смотрится с 2 переменными,а как с 3??? кода нет
Шерошенникова Нина
Нужен алгоритм либо программка?
Кумбаев Арсений
метод
1 ответ
Логическая операция - это "исключающее ИЛИ" (xor в языках Паскаль, Бейсик и т.д.), а операция присваивания.
Тогда aba; abb; aba - это был размен значениями a b
Теперь по этой же схеме обменяем местами b и с:
bcb;
bcс; bcb.
Итог: ba; cb; ac

Программка для иллюстрации:
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var a:=50;
  var b:=-20;
  var c:=0;
  Println('Начальные значения: a=',a,'b=',b,'c=',c);
  a:=a xor b; b:=a xor b; a:=a xor b;
  b:=b xor c; c:=b xor c; b:=b xor c;
  Println('Результат обмена: a=',a,'b=',b,'c=',c)
end.

Результат:
Исходные значения: a= 50 b= -20 c= 0
Итог размена: a= -20 b= 0 c= 50

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт