Нахождение второго по величине элемента массива - Pascal
Формулировка задачи:
const n=10; Var i, j: Integer; y:Integer; m: array[1..100] of integer; Begin For i:=1 to n do begin m[i]:=random(100); write(m[i]:4); end; j:=m[1]; For i := 2 to n do begin If m[i]>j then j:=m[i]; end; For i := 1 to n do begin If (m[i]>y) and (m[i]<>j) then y:=m[i]; end; Writeln(); Write(y); End.
Решение задачи: «Нахождение второго по величине элемента массива»
textual
Листинг программы
const nn=2; var n, i, j, t: Integer; m: array [1..nn+1] of Integer; begin Write('N: '); ReadLn(n); Write('Введите ',n,' чисел: '); for n:=1 to n do begin if j<=nn then Inc(j); Read(m[j]); i:=j; while (i>1) and (m[i]>m[i-1]) do begin t:=m[i]; m[i]:=m[i-1]; m[i-1]:=t; Dec(i); end; end; Write('Максимум ',nn,': ',m[nn]); end.
Объяснение кода листинга программы
- Переменная nn объявляется и инициализируется значением 2.
- Объявляются переменные n, i, j, t типа Integer.
- Создается массив m типа array[1..nn+1] of Integer, где nn=2.
- Выводится запрос на ввод числа для переменной n.
- В цикле for с 1 по nn+1 (т.е. от 1 до 2) происходит чтение числа из стандартного ввода и сохранение его в массиве m.
- В цикле while проверяется, что i меньше или равно nn и что текущее значение m[i] больше предыдущего. Если это условие выполняется, то переменная t присваивается значению m[i], m[i-1] присваивается значение m[i-1], а i уменьшается на 1. Это позволяет переместить наибольший элемент в конец массива.
- Выводится сообщение с максимальным значением в массиве m, которое находится в позиции nn.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д