Используя двоичный поиск, определить, есть ли в массиве число, равное Х - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Заполнить массив случайными числами и отсортировать его. Ввести число Х. Используя двоичный поиск, определить, есть ли в массиве число, равное Х. Подсчитать количество сравнений. Пример: Массив: 147392452 После сортировки: 122344579 Введите число Х: 2 Число 2 найдено. Количество сравнений: 2

Решение задачи: «Используя двоичный поиск, определить, есть ли в массиве число, равное Х»

textual
Листинг программы
  1. const
  2.  t=10;   // количество чисел в массиве
  3. var
  4.  a: array[1..t] of integer;
  5.  i,min,k,tmp,klv,z : integer;
  6.  b: boolean;
  7. begin
  8.  
  9.  for i:=1 to t do
  10.   a[i]:=random(10)+1;   //Рандом чисел от 1 до 10
  11.    
  12.   for i:=1 to t-1 do
  13.   for k:=i+1 to t do
  14.    if a[i]>a[k] then
  15.     begin
  16.      tmp:=a[k];
  17.      a[k]:=a[i];
  18.      a[i]:=tmp;
  19.     end;
  20.  
  21.  for i:=1 to t do
  22.   write(' ',a[i]:2);
  23.  writeln;
  24.  
  25.  klv:=0;
  26.  readln(z);
  27.   for i:=1 to t do
  28.   if a[i]=z then
  29.    begin
  30.     b:=true;
  31.     inc(klv);
  32.    end;
  33.  if b then
  34.   begin
  35.    writeln(' Число ',z,' найдено.');
  36.    writeln(' Количество сравнений: ',klv);
  37.   end;
  38.  
  39.  if b=false then writeln(' Число ',z,' не найдено.');
  40. end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы