Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.02.2011, 17:36   #1
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию Паскаль.Бинарный поиск. Всё работает. Объяснить.

Код:
function SearchEl(var el:integer;a:mas):integer;
  var k,nm,vm:integer; found:boolean;
    begin
     nm:=1; vm:=m; found:=false;
      repeat
           k:=(nm+vm)div 2;
             if el=a[k] then
                found:=true
             else
               if a[k]>el then
                  nm:=k+1
               else
                  vm:=k-1
      until(nm>vm)or(found);
       if found then
         SearchEl:=k
       else
         SearchEl:=0
    end;
мне не понятна вот эта часть кода
Код:
if a[k]>el then
                  nm:=k+1
               else
                  vm:=k-1
Если a[k] больше искомого элемента el, то почему мы поднимаем нижнюю границу выше k. Если элемент остался внизу?
Делал так как считаю за нужное то не работает.
Потом переделал по книге вот так, то работает, но я не понимаю как.
Антон Лысенко вне форума
Старый 25.02.2011, 18:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
мне не понятна вот эта часть кода
Мне тоже. И не только это, а еще почему ты кросспосты штопаешь.
Закрыто!
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бинарный поиск Виктория7777 Помощь студентам 6 13.01.2011 16:07
бинарный поиск не работает nhr Помощь студентам 0 14.12.2010 17:20
[B]Не работает бинарный поиск![/B] sabaton Общие вопросы C/C++ 2 21.09.2010 20:51
Бинарный поиск (Паскаль) Zhanna5006 Помощь студентам 3 07.01.2010 09:52
бинарный поиск(паскаль) MetR Помощь студентам 6 14.12.2009 15:46