Пример программы нахождения в одномерном массиве максимального элемента

Пусть требуется составить программу, которая формирует одномерный массив случайных чисел, выполняет поиск максимального элемента массива, а затем выводит на экран его значение и порядковый номер в массиве.

В разделе описания запишем размер массива Count=20, опишем массив целых чисел М следующим образом: М: array [I..Count] of byte. Используем целые переменные для хранения значений максимального элемента массива - Мах, его индекса - Numer_Max.

Перед началом поиска максимального элемента допустим, что его первый элемент и является максимальным элементом, а его индекс указывает позицию максимального элемента в массиве.

Это запишется так:

Мах:= М[1]; {Считать 1-й,элемент максимальным}

Numer_Max:=1; {Запомнить номер максимального элемента}

Повторяющийся просмотр массива с поиском максимального элемента, начиная со второго, выполняется оператором повтора с параметром, который одновременно указывает индекс очередного элемента. Сравнение очередного элемента массива с максимальным осуществляется оператором: If M[I] > Max then…

Если очередной элемент массива больше, чем максимальный, то следует считать его значение максимальным и запомнить его индекс.

Данный фрагмент программы запишется таким образом:

for I:= 2 to Count do {Проверить все элементы, начиная со второго)

begin

if M[I] > Max then {Если очередной (I-й) элемент массива больше чем Мах}

begin

Max:= M[I]; {то считать максимальным 1-й элемент}

Numer_Max:=I; {и запомнить его порядковый номер}

end;

end;

В заключительной части программы запишем вывод результата поиска максимального элемента массива:

Writeln('Максимальный элемент — ', Мах);

Writeln('Он расположен на ', Numer_Max, ' месте');

Полный текст программы получится таким:

program Max_Elem; {Поиск максимального элемента массива}

Const

Count =20;

Var

M: array [I..Count] of byte;

Max, I, Numer_Max: byte;

Begin {Основная программа}

for I:=1 to Count do {ввод элементов массива}

begin

writeln('Введите ',i,' элемент массива');

readln(M[I]);

end; {конец ввода}

writeln('Введенный массив: ');

for I:=1 to Count do {вывод элементов массива}

begin

write(' ',M[I],' ');

end; {конец вывода}

Writeln;

Max:= M[1]; {Считать 1-й элемент максимальным}

Numer_Max:=1; {Запомнить номер максимального элемента}

for I:= 2 to Count do {Проверить все элементы, начиная со второго}

begin

if M[I] > Max then {Если очередной (I-й) элемент массива больше чем Мах}

begin

Max:= M[I]; {то считать максимальным 1-й элемент}

Numer_Max:=I; {и запомнить его порядковый номер}

end;

end;

Writeln('Максимальный элемент — ', Max);

Writeln('Он расположен на ', Numer_Max, ' месте');

еnd.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: