Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2010, 15:13   #1
Joker<777>
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 18
Вопрос Даны два числа

Даны два числа, составить программу обмена значений этих переменных
Joker<777> вне форума Ответить с цитированием
Старый 02.09.2010, 15:24   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну если правильно понял то так:
Код:
Uses CRT;
Var
    X,Y,A,B:Real;
Begin
        Clrscr;
        Readln(X,Y);
        A:=X;B:=Y;
        X:=B;Y:=A;
        Write('X = ',X:5:2,'    Y = ',Y:5:2);
        Readln;
End.
_-Re@l-_ вне форума Ответить с цитированием
Старый 02.09.2010, 15:30   #3
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

PHP код:
Var
      
ainteger;
Begin
      Write
('Enter A: ');
      
ReadLn(a);
      
Write('Enter B: ');
      
ReadLn(b);
      
WriteLn('A = ',A,'; B = ',B);
      
a:=a+b;
      
b:=a-b;
      
a:=a-b;
      
WriteLn('A = ',A,'; B = ',B);
      
readln;
End
Как вариант, заменить минусы и плюсы на XOR:
PHP код:
      a:=xor b;
      
b:=xor a;
      
a:=xor b
Чтобы понять рекурсию, сперва нужно понять рекурсию.

Последний раз редактировалось Tronix; 02.09.2010 в 15:36.
Tronix вне форума Ответить с цитированием
Старый 02.09.2010, 15:39   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ну зачем же ДВЕ дополнительные переменные.
"Классическим" алгоритмом предполагается использование ОДНОЙ дополнительной (временной) переменной.
подход такой. Пусть есть переменные X и Y
тогда, что бы обменять содержимое, объявляем переменную (например, Temp такого же типа, как переменные X и Y) и выполняем такой код:
Код:
  Temp := X;
  X := Y;
  Y := Temp;
p.s. существуют ещё "хакерские" способы обмена значение вообще БЕЗ использования дополнительных переменных. Но это не очень красиво с точки зрения наглядности/простоты кода + не со всеми типами данных подобный трюк прокатит.
Поэтому вот так
Код:
 var X, Y : integer;
begin
  X := 100;
  Y := -777;
  X := X xor Y;
  Y := X xor Y;
  X := X xor Y;
  WriteLn('New X = ',X:1, ' New Y = ',Y:1);
  readln;
end.
делать НЕ НАДО!


______________
p.s. Сорри, пока писал свой пост, прозевал пост от Tronix
Поэтому убедительно прошу моё сообщение не считать ответом на этот пост!! Все совпадения кода случайны!

Последний раз редактировалось Serge_Bliznykov; 02.09.2010 в 15:41.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.09.2010, 15:57   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
ну зачем же ДВЕ дополнительные переменные.
Ну, на самом деле, чё хочу-то ворочу. А вот верите вы или нет, но я этот якобы классический ход знаю, использовал при сортировке массивов.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два одномерных массива, содержащие вещественные числа. Упорядочить по убыванию значен [Meeen] Общие вопросы C/C++ 1 08.06.2010 00:49
Даны два числа Vylkan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.02.2010 04:13
даны натуральные трехзначные числа, нужно выбрать такие, запись которых содержит два одинаковые цифры. TuuuZ Помощь студентам 2 28.12.2009 16:18
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49