Определить минимальный элемент в целочисленном массиве
Алгоритм решения нахождения минимального элемента в целочисленном массиве:
- Инициализируем переменную, которая будет хранить минимальный элемент массива. Начальное значение этой переменной может быть первым элементом массива.
- Сравниваем значение первого элемента массива с текущим минимальным значением.
- Если значение первого элемента меньше текущего минимального значения, обновляем минимальный элемент.
- Переходим к следующему элементу массива и повторяем шаги 2-3, сравнивая каждый элемент с текущим минимальным значением и обновляя его при необходимости.
- Повторяем шаги 2-4 до тех пор, пока не пройдем все элементы массива.
- Возвращаем полученное значение минимального элемента.
Например, у нас есть следующий целочисленный массив: [5, 2, 9, 3, 7]. Применяя алгоритм:
- Инициализируем переменную для минимального элемента со значением 5 (первый элемент массива).
- Берем второй элемент массива, его значение 2. Сравниваем его со значением текущего минимального элемента (5). Так как 2 меньше, обновляем минимальный элемент на 2.
- Берем третий элемент массива, его значение 9. Сравниваем его со значением текущего минимального элемента (2). Так как 9 больше, не обновляем минимальный элемент.
- Берем четвертый элемент массива, его значение 3. Сравниваем его со значением текущего минимального элемента (2). Так как 3 больше, не обновляем минимальный элемент.
- Берем пятый элемент массива, его значение 7. Сравниваем его со значением текущего минимального элемента (2). Так как 7 больше, не обновляем минимальный элемент.
- Обход всех элементов окончен. Минимальный элемент массива равен 2.
- Возвращаем полученное значение 2.
Листинг программы
const
m = 20;
var
arr: array[1..m] of byte;
min_num, min_index: byte;
i: byte;
begin
randomize;
for i := 1 to m do begin
arr[i] := random(100);
write (arr[i]:3);
end;
min_index := 1;
min_num := arr[1];
for i := 2 to m do
if arr[i] < min_num then begin
min_index := i;
min_num := arr[i];
end;
writeln;
writeln ('Min = ',min_num);
writeln ('position: ', min_index);
end.
Объяснение кода
- Объявляется константа
m
, которая определяет размер массива на 20 элементов. - Объявляются переменные
arr
,min_num
,min_index
иi
.arr
- массив типа byte, который будет хранить случайные числа.min_num
- переменная для хранения минимального числа в массиве.min_index
- переменная для хранения индекса минимального числа в массиве.i
- переменная для использования в циклах.
- Инициализируется генератор случайных чисел.
- С помощью цикла
for
заполняется массив случайными числами и происходит их вывод на экран. - Инициализируются переменные
min_index
иmin_num
значениями первого элемента массива. - С помощью цикла
for
происходит поиск минимального числа и его индекса в массиве. - Если текущий элемент массива меньше
min_num
, то обновляются переменныеmin_index
иmin_num
. - После окончания цикла выводится минимальное число и его позиция (индекс) в массиве.