![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск числа [D7, XP]
Petr © (2009-06-11 13:09:00)Привет!!! У меня вот такой вопрос:
Есть ряд из чисел и отдельно от этого ряда заданное число. Помогите составить код для поиска по этому ряду чисел числа наиболее близкого к заданному числу.
Я не могу алгоритм составить
MBo (2009-06-11 13:28:00) [1]>Почему через while?
>Я такого не писал!
Покачисло в ряду меньше
;)
oldman (2009-06-11 13:19:00) [2]
> Petr (11.06.09 13:16) [2]
> Т.е. через while надо? О через for можно?
Почему через while?
Я такого не писал!
Petr (2009-06-11 13:16:00) [3]Т.е. через while надо? О через for можно?
И. Павел (2009-06-11 13:16:00) [4]
rez:=mas[0];
for i:=1 to length(mas)-1 do
if abs(mas[i]-data)<abs(rez-data) then rez:=mas[i];
Если массив большой, лучше, как написал oldman ©, упорядочить, а потом методом половинного деления.
oldman (2009-06-11 13:14:00) [5]Для начала упорядочи ряд по возрастанию
Пока число в ряду меньше исходного бежим по ряду вперед
Как только больше - ура! мы в вилке из двух чисел
Осталось выяснить, к какому мы ближе
:)))