Задать вопрос
3 марта, 00:20

Паскаль - массивы. Написать программу, которая считает среднее число шагов в двоичном поиске для массива из 32 элементов в интервале [0,100]. Для поиска использовать 1000 случайных чисел в этом же интервале.

+3
Ответы (1)
  1. 3 марта, 00:27
    0
    Const

    n=32;

    var

    a:array[1 ... n] of integer;

    i, j, k, p, left, right, center:integer;

    begin

    { заполнить массив данными }

    Randomize;

    for i:=1 to n do a[i]:=Random (101) ;

    { отсортировать массив во возрастанию - пузырьковый метод }

    for i : = 1 to n-1 do

    for j : = 1 to n-i do

    if a[j] > a[j+1] then

    begin k : = a[j]; a[j] : = a[j+1]; a[j+1] : = k end;

    { тысяча поисков случайных чисел }

    k:=0;

    for j:=1 to 1000 do

    begin

    p:=Random (101) ;

    { собственно, двоичный поиск }

    left:=1; right:=n;

    while left
    begin

    Inc (k) ;

    if (a[left]=p) or (a[right]=p) then left:=right { нашли }

    else begin

    center: = (left+right) div 2;

    if a[center]=p then left:=right { нашли }

    else

    if a[center]


    else right:=center

    end

    end

    end;

    Writeln ('Среднее число поисков равно ', k/1000:4:2)

    end.

    Тестовое решение:

    Среднее число поисков равно 4.61

Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Паскаль - массивы. Написать программу, которая считает среднее число шагов в двоичном поиске для массива из 32 элементов в интервале ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Помогите решить задачи на паскаль. 1) Дан массив случайных чисел (количество элементов вводите с клавиатуры). Найти произведение всех элементов массива. 2) Дан массив случайных чисел (количество элементов вводите с клавиатуры).
Ответы (1)
1. Возвести в квадрат все элементы массива A. Размер массива и значения элементов массива - произвольные. 2. Увеличить на 4 все элементы в первой половине массива A (считать, что в массиве чётное число элементов).
Ответы (1)
дан массив из семи элементов написать программу подсчитывающую среднее второго и предпоследнего элементов массива дан целочисленный массив из 10 элементов написать программу находящую сумму элементов массива красных 3 ил 5 дан целочисленный массив
Ответы (1)
Составить программу (Паскаль) Сформировать массив (t кол-во элементов 20) случайных чисел, выбранных на интервале от - 10 до + 10. Вывести кол-во нулевых элементов, сумму элементов кратных 3 и среднее арифметическое всех элементов массива.
Ответы (1)
1. for + random a. вывести случайное количество случайных чисел b. вывести на экран 10 случайных чисел c. вывести на экран 10 случайных чисел, значение которых лежит в отрезке [0,10] d.
Ответы (1)