Двоичный поиск в массиве на Pascal

      Комментарии к записи Двоичный поиск в массиве на Pascal отключены

Главная Форумы Программирование Программирование на Pascal Двоичный поиск в массиве на Pascal

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 4 мес., 4 нед. назад.

  • Автор
    Сообщения
  • #3782

    Составьте программу, которая методом двоичного поиска проверяет наличие искомого элемента в массиве.

    Решение:

    program arrays_14;
    uses crt;
    var i, n, key, a, b, c: integer;
    x: boolean; mas: array[1..100] of integer;
    begin
      write('Размер массива > '); read(n);
      write('Искомый элемент > ');
      read(key);
      for i:=1 to n do
      begin
        mas[i]:=i*n;
        write(mas[i],' ');
      end;
      a:=1; b:=n; x:=false;
      while a<=b do
      begin
        c:=a+(b-a) div 2;
        if (key<mas[c]) then
          b:=c-1
        else if (key>mas[c]) then
          a:=c+1
        else
        begin 
          x:=true; break; 
        end;
      end;
      if (x=true) then writeln('Элемент найден')
      else write('Элемент не найден');
    end.

Для ответа в этой теме необходимо авторизоваться.