Поиск в массиве бинарным методом

Ответить
A3ZA
Сообщения: 2
Зарегистрирован: 30 ноя 2008, 14:01

Привет всем!! Помогите пожалуйста с Паскалем! Определить индекс элемента массива A[15], равного введеному числу, методом бинарного поиска.
chnry
Сообщения: 20
Зарегистрирован: 15 дек 2007, 15:30

393877884 Стучись. Рублей за 100 сделаю
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Бинарный поиск - это поиск делением пополам в отсортированном массиве?

Код: Выделить всё

const
  N=15;
  A:array[1..N] of integer =(1,5,12,15,16,18,33,34,36,39,40,44,45,46,50);
var
  i,v,left,right,middle:integer;
begin
  writeln('The source array is:');
  for i:=1 to N-1 do write(A[i],', ');
  writeln(A[N],'.');
  write('Input a value for searching: ');
  readln(v);

  left:=1;
  right:=N;
  repeat
    middle:=left+(right-left) div 2;
    if v<A[middle] then right:=middle else left:=middle;
    writeln('It should be somewere between ',left,' and ', right);
  until right-left<=1;
  if v=A[align=left] then writeln('Requested value was found at position ',left)
    else if v=A[align=right] then writeln('Requested value was found at position ',right)
      else writeln('Requested value is NOT found');
  readln;
end.

A3ZA
Сообщения: 2
Зарегистрирован: 30 ноя 2008, 14:01

Спасибо!! хорошо :)
Ответить