Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Поменять местами значения(Delphi)

15K
24 сентября 2007 года
Ybr
31 / / 19.03.2007
[SIZE="2"]В общем, думал над задачей, не могу придумать, как решить.

Условие
Даны два числа - a и b. Например, a=2; b=3. Им присваиваются некоторые значения. Необходимо поменять местами эти числа (то есть a=3, b=2). НО не используя операцию присваивания.
Нам дали подсказку, что можно обойтись только операциями сложения и вычитания.

Язык: Delphi 7.[/SIZE]
28K
24 сентября 2007 года
netw00rk
8 / / 03.05.2007
a:= 2
b:= 3
a:= a+b // a = 5
b:= a-b // b = 2
a:= a-b // a = 3
242
24 сентября 2007 года
Оlga
2.2K / / 04.02.2006
не знаю как в Дельфи, но в Си есть операция XOR (побитовая операция), вот при помощи этой операции более правильно менять 2 значения:

a := a xor b
b := b xor a
a := a xor b
7.8K
24 сентября 2007 года
Tingo
201 / / 17.05.2007
А можно сделать вставку на asm ; )
Код:
procedure change(var a,b:integer)
Begin
asm
mov eax, a
push eax
mov eax, b
push eax

pop eax
mov a, eax
pop eax
mov b, eax
end;
end;


Шутка конечно...

netw00rk дал рабочий пример. можно юзать)
15K
25 сентября 2007 года
Ybr
31 / / 19.03.2007
Цитата: netw00rk
a:= 2
b:= 3
a:= a+b // a = 5
b:= a-b // b = 2
a:= a-b // a = 3


Спасибо огромное.

- не знаю как в Дельфи, но в Си
У меня Делфи.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог