Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2008, 17:36
NeiL NeiL вне форума
Прохожий
 
Регистрация: 29.11.2007
Сообщения: 28
Репутация: 10
По умолчанию Округление

Есть динамический массив целых чисел. Вводится целое число. В случае если число не содержиться в массиве то округлить вводимое число до ближайшего целого числа в массиве (т. е. если массив [ 4, 8, 11, 15 ] и вводим значение 9 то должно округлиться до 8).
Ответить с цитированием
  #2  
Старый 20.01.2008, 17:47
Аватар для Rokuell
Rokuell Rokuell вне форума
Активный
 
Регистрация: 27.12.2006
Адрес: Псков
Сообщения: 274
Версия Delphi: Delphi 7
Репутация: 497
Сообщение

Алгоритм таков:
1. Пробегаешь по массиву циклом, сравнивая данное число с каждым, имеющимся в массиве.
2. Если это число содержиться в массиве - делай что там тебе надо, если нет, то:
3. Заводишь две целые переменные -
одна будет напр indx:integer; indx:=1;
а вторая de:integer; de:=Abs(A[1]-N); где N - данное число, A - массив
A[1] - первый элемент массива
4. Пробегаешь опять циклом по массиву начиная со второго элемента
и сравниваешь, если Abs( A[i] - N ) < de то de:=Abs( A[i] - N ); indx:=i;
где i - переменная цикла
5. После цикла пишешь N:=A[indx];

PS: кодь сам, т.к я сейчас немогу, надеюсь, объяснил достаточно подробно.
__________________
Велик и могуч наш Object Pascal !
ICQ: 357-591-887
Ответить с цитированием
  #3  
Старый 20.01.2008, 17:53
NeiL NeiL вне форума
Прохожий
 
Регистрация: 29.11.2007
Сообщения: 28
Репутация: 10
По умолчанию

Большое спасибо
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter