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

Как поменять местами значение 3 переменное без ввода еще одной переменной.
Категория: Информатика 3 года назад
На вопрос 3 года назад
Stas Litvinov
Логическая операция ? - это "исключающее ИЛИ" (xor в языках Паскаль, Бейсик и т.д.), а ? операция присваивания.
Тогда a?b?a; a?b?b; a?b?a - это был обмен значениями a ? b
Теперь по этой же схеме обменяем местами b и с:
b?c?b; b?c?с; b?c?b.
Результат: b?a; c?b; a?c
Программа для иллюстрации:
// 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
Ответ получен 3 года назад
Злата Лапшина

Пожалуйста зарегистрируйтесь/войдите для ответа на вопрос.  Нажмите для входа

Войти на сайт