Дан массив из 20 чисел. найти среднее арифметическое. найти наименьший элемент методом бинарного поиска. (Pascal)

19 Янв 2020 в 19:41
216 +1
0
Ответы
1

program BinarySearchAverage;

var
arr: array[1..20] of Integer;
i, key, low, high, mid, sum, minElement: Integer;
average: Real;

procedure SortArray();
var
i, j, temp: Integer;
begin
for i := 1 to 20 do
begin
for j := i + 1 to 20 do
begin
if arr[i] > arr[j] then
begin
temp := arr[i];
arr[i] := arr[j];
arr[j] := temp;
end;
end;
end;
end;

begin
sum := 0;
minElement := MaxInt;

// Заполнение массива случайными числами
Randomize;
for i := 1 to 20 do
begin
arr[i] := Random(100);
sum := sum + arr[i];
if arr[i] < minElement then
minElement := arr[i];
end;

// Вычисление среднего арифметического
average := sum / 20;
WriteLn('Среднее арифметическое: ', average:0:2);

// Сортировка массива для бинарного поиска
SortArray();

// Бинарный поиск наименьшего элемента
low := 1;
high := 20;
key := minElement;
while low <= high do
begin
mid := (low + high) div 2;
if key < arr[mid] then
high := mid - 1
else if key > arr[mid] then
low := mid + 1
else
begin
WriteLn('Наименьший элемент массива: ', arr[mid]);
break;
end;
end;
end.

18 Апр 2024 в 19:40
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир