Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента - Turbo Pascal
Формулировка задачи:
Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента.
Решение задачи: «Известно, что в массиве все элементы различны. Найти в нем два наибольших элемента»
textual
Листинг программы
Var A:array[1..100] of integer;
i,imax1,imax2,n:integer;
Begin
write('Кол-во элементов: ');readln(n);
For i:=1 to n do
Begin
write('A[',i,'] = ');
readln(A[i]);
End;
imax1:=1;
For i:=1 to n do
if A[i]>A[imax1] then imax1:=i;
For i:=1 to n do
if i<>imax1 then break;
imax2:=i;
For i:=1 to n do
if (A[i]>A[imax2])and(i<>imax1) then imax2:=i;
writeln;
writeln('Max1 = ',A[imax1]);
writeln('Max2 = ',A[imax2]);
readln;
End.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Создается переменная A типа array[1..100] of integer; - создается массив из 100 элементов целых чисел.
- Задаются три переменные: i, imax1, imax2 - они будут использоваться для поиска наибольших элементов в массиве.
- Выводится запрос на ввод количества элементов в массиве - считывается число n.
- Запускается цикл for, который проходит по каждому элементу массива A от 1 до n. Внутри цикла выводится значение каждого элемента массива A[i].
- Внутри цикла for инициализируется переменная imax1 значением 1. Она будет использоваться для хранения текущего наибольшего элемента.
- Запускается еще один цикл for, который проходит по каждому элементу массива A от 1 до n. Внутри цикла проверяется условие: если значение A[i] больше значения переменной imax1, то переменная imax1 обновляется значением i.
- После завершения первого цикла for, запускается еще один цикл for. Он также проходит по каждому элементу массива A от 1 до n. Внутри цикла проверяется условие: если значение A[i] больше значения переменной imax2 и i не равно imax1, то переменная imax2 обновляется значением i.
- По завершении второго цикла for выводятся на экран значения наибольших элементов массива A[imax1] и A[imax2].
- Запрашивается ввод с клавиатуры, и программа завершается.