1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Вадим |
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
Помогите написать программу.
Разработать рекурсивную процедуру двоичного поиска элемента массива, равного данному числу. Сообщение отредактировано: Вадим - |
![]() ![]() |
| godd |
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Мужской Репутация: 0 |
скорость поиска увеличиться? ну разве что в отсортированном массиве, а ведь его еще надо будет отсортировывать - так что в итоге во времени проигрышь. разве что сортировка массива подразумевается условием самой задачи.
я тут кое-чо тоже написал вот процедура: Код procedure IndexOfArray(niz,verh,iskomoe:byte) Должно работать, сам не проверял. Предполагается что массив уже отсортированный, первоначально verh:=конец_массива, niz:=начало_массива, Iskomoe:=Искомое. Предполагается что array[x..n] of byte, но в под конкретный тип переделать - просто.begin if niz<verh then if arr[round(verh*0.5)]>iskomoe then IndexOfArray(niz,round(verh*0.5),iskomoe) else IndexOfArray(round(verh*0.5),verh,iskomoe); end P.S. Вадим, переделай эту фигню в функцию P.P.S Я на C++ переехал, про функции - если понадобяться, то потом почитаю. Пока не надо )) => сам делай __________ вначале по привычке trunc написал. надо - round [округление по правилам математики] Сообщение отредактировано: godd - |
Вадим Рекурсии 11.10.2004 1:09
Amro А массив уже упорядочен чтоль, или его ещё сортиро… 11.10.2004 1:31
Вадим Условие точное, но скорее всего массив надо сортир… 11.10.2004 1:43
godd что такое двоичный поиск? поиск двоичного числа? и… 11.10.2004 2:32
Amro Нет godd это не поиск двоичного числа это поиск … 11.10.2004 3:27
fms двоичный т.е. бинарный? :)
со строками.. :) ну мож… 11.10.2004 4:07
godd посчет времени - рекурсия это вообще дело нехороше… 11.10.2004 5:18
Amro Я в общем тоже времени не терял, написал тут одну … 11.10.2004 5:27
godd недоглядел в тексте Amro. Не то написал. Удалить п… 11.10.2004 5:35
godd Amro
по поводу рекурсии - это я прочитал где-то. 11.10.2004 5:36
godd Недоглядел я. Ему ж процедура нужна была. А я врод… 11.10.2004 5:46
Amro Ты прав надо сравнивать только с крайним элементом… 11.10.2004 5:49
Amro Во во я также сначала функцией пытался сделать, то… 11.10.2004 5:52
godd
мона. вначале проги randomize ставишь, а элементы… 11.10.2004 13:14
Guest Как сделать, чтобы исходные данные вводились из те… 22.10.2004 0:54
Amro Создаешь текстовый файл, заносишь туда данные при … 22.10.2004 1:23
Гость_Вадим Amro, если будет не в лом, то доделай, пожалуйста 22.10.2004 1:34
Amro Держи Вадим
Разбирайся!!!
Прога созд… 23.10.2004 1:03![]() ![]() |
|
Текстовая версия | 25.12.2025 15:27 |