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