|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Бинарный поиск. (Паскаль) |
|
Разное - Бинарный поиск. (Паскаль)
|
Новый участник Сообщения: 43 |
Мне нужно найти эллемент в массиве, использую бинарый поиск. Я отсортировал массив, убрал все повторяющиеся эллементы.
Но почему то поис работает не правельно, особенно условие выхода из цикла какойто не правельное... иногда выводит не правельный индекс элемента, иногда не выходит из цикла если число попало ровно на середину... потаму что потом идёт увеличение на 1 можете пожалуйсто помоч. repeat write('введите позитивное число, которое программа попробует найти в массиве - '); readln(srch); until(srch>0); Lb:=0; Ub:=n; repeat mid:=(Lb + Ub) div 2; if (srch < mass[mid]) then begin Ub := mid - 1; end else if (srch > mass[mid]) then begin Lb := mid + 1; end; until((mid=srch)or(mid=ub)or(mid=lb)); if (mid=srch) then begin writeln('Число которое вы хотели найти',srch,' и на ходиться на позиции ',mid); end; |
|
Отправлено: 00:33, 29-05-2008 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать n это констанка которая равна 20.
размер массива [1..n] |
Отправлено: 01:06, 29-05-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать S1stem, слово "правильно" пишется через "и". Ну и вообще, русский язык надо любить больше, чем паскаль
![]() Цитата S1stem:
К тому же, так как индексация массива начинается с 1, то и Lb надо сначала присваивать значение равное 1. Остальное вроде правильно. |
|
------- Отправлено: 04:59, 29-05-2008 | #3 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать Может не в тему языка, но на С++ это выглядит так, если можешь перевести на Pascal или форумчане переведут... То вот...
|
------- Последний раз редактировалось Drongo, 29-05-2008 в 17:39. Отправлено: 12:50, 29-05-2008 | #4 |
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать ivank - больше спасибо
![]() |
|
Отправлено: 21:52, 29-05-2008 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Теория - Паскаль и NaN | ManHack | Программирование и базы данных | 9 | 20-01-2009 15:57 | |
Разное - Паскаль, точнее его Turbo-версия | ManHack | Программирование и базы данных | 5 | 09-12-2008 19:05 | |
XML + XSL + PHP => HTML, Как передать бинарный код рисунка ? | Lexxx_HU | Вебмастеру | 5 | 02-03-2007 17:55 | |
И опять он, Паскаль!!!! | Doktor | Программирование и базы данных | 2 | 23-06-2005 09:59 | |
С++ и Паскаль | Casper | Программирование и базы данных | 5 | 18-04-2003 19:35 |
|