Главная Всё о Delphi Регистрация

Вход

Приветствую Вас Гость | RSSВторник, 21.11.2017, 05:31
Меню сайта

Категории каталога
Начинающим [44]
Материалы для начинающих
Трюки [2]
Трюки
Разное [94]
Материалы на разные темы

Наш опрос
Какой процессор у вас стоит?
Всего ответов: 133

Каталог статей
Главная » Статьи » Трюки

Перестановка чисел без третей переменой

Перестановка чисел без третей переменой. В данной статье рассмотрим способ, как поменять местами значения двух переменных без использования третей.

            Для этого нам понадобится, скажем, два edit и одна кнопка. Разместите эти элементы на форме по своему усмотрению. Для всех edit поставьте свойство text в значение скажем “0. А для кнопки значение caption в “Вычислить”. После этого можно приступать к написанию кода.

 

Код для кнопки:

 

procedure TForm1.Button1Click(Sender: TObject);

var

a,b:integer; //Наши переменные

begin

a:=2; //Присваиваем переменой а значение 2

b:=7; //Присваиваем переменой b значение 7

b:=a-b; //Вычитаем из а b и записываем результат в b

a:=a-b; //Вычитаем из а b и записываем результат в a

b:=b+a; //Складываем а и b и записываем результат в b

edit1.Text:=inttostr(a); //Выводим результат в edit, что бы проверить не врет ли алгорим

edit2.Text:=inttostr(b);

end;

 

            Как видно из кода его главной составляющей являются три простые математические операции.

 

Математические операции:

 

b:=a-b;

a:=a-b;

b:=b+a;

 

Данные операции можно использовать не только в Delphi, но и в других языках.

Всё на этом статья закончена.

Категория: Трюки | Добавил: Дубин (21.09.2007) | Автор: Дубин Михаил Олегович
Просмотров: 668 | Комментарии: 2 | Рейтинг: 0.0/0 |

Всего комментариев: 2
2  
Можно например поменять integer на более большой тип. Хотя дествительно масимум того типа и максимум того типа минус одну уже таким способом не поменяешь.

1  
Статья рассказывает интересный способ, но плохо, что не перечисляет его плюсы и минусы:
Плюсы в том, что не нужно выделять память под новую переменную, что было очень актуально для старых компьютеров.
Минусы в том, что тип integer не бесконечен и при работе с большими числами можно выйти за его пределы при операции a + b: например, надо поменять местами числа 2000000002 и 1500000001. Выскочит ошибка.
Так что для современных систем рекомендуется менять всё-же с помощью третьей переменной. Но можно и этот способ использовать, если уверены, что числа в программе не могут быть очень большими.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Рейтинг@Mail.ru

Реклама

Copyright MyCorp © 2017Сайт управляется системой uCoz