Страница 1 из 1

Pascal. Бинарный поиск

Добавлено: 30 ноя 2008, 14:29
A3ZA
Привет всем!! Помогите пожалуйста с Паскалем! Определить индекс элемента массива A[15], равного введеному числу, методом бинарного поиска.

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

Добавлено: 30 ноя 2008, 16:58
chnry
393877884 Стучись. Рублей за 100 сделаю

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

Добавлено: 30 ноя 2008, 17:16
Naeel Maqsudov
Бинарный поиск - это поиск делением пополам в отсортированном массиве?

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

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.


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

Добавлено: 01 дек 2008, 15:02
A3ZA
Спасибо!! хорошо :)