Используя двоичный поиск, определить, есть ли в массиве число, равное Х - Pascal ABC
Формулировка задачи:
Заполнить массив случайными числами и отсортировать его. Ввести число Х. Используя двоичный поиск, определить, есть ли в массиве число, равное Х.
Подсчитать количество сравнений.
Пример:
Массив:
147392452
После сортировки:
122344579
Введите число Х:
2
Число 2 найдено.
Количество сравнений: 2
Решение задачи: «Используя двоичный поиск, определить, есть ли в массиве число, равное Х»
textual
Листинг программы
- const
- t=10; // количество чисел в массиве
- var
- a: array[1..t] of integer;
- i,min,k,tmp,klv,z : integer;
- b: boolean;
- begin
- for i:=1 to t do
- a[i]:=random(10)+1; //Рандом чисел от 1 до 10
- for i:=1 to t-1 do
- for k:=i+1 to t do
- if a[i]>a[k] then
- begin
- tmp:=a[k];
- a[k]:=a[i];
- a[i]:=tmp;
- end;
- for i:=1 to t do
- write(' ',a[i]:2);
- writeln;
- klv:=0;
- readln(z);
- for i:=1 to t do
- if a[i]=z then
- begin
- b:=true;
- inc(klv);
- end;
- if b then
- begin
- writeln(' Число ',z,' найдено.');
- writeln(' Количество сравнений: ',klv);
- end;
- if b=false then writeln(' Число ',z,' не найдено.');
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д