Используя двоичный поиск, определить, есть ли в массиве число, равное Х - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д