Определите значение второго по величине элемента в последовательности - PascalABC.NET
Формулировка задачи:
Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности.
Числа, следующие за числом 0, считывать не нужно.
Входные данные
Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит).
Выходные данные
Выведите ответ на задачу.
Примеры
Входные данные:
1
7
9
0
Выходные данные:
7
Написал,но работает в 12 из 30 случаях,как должен выглядеть код только с помощью цикла repeat?
Решение задачи: «Определите значение второго по величине элемента в последовательности»
textual
Листинг программы
var x, max, second : integer; begin max := 0; second := 0; repeat readln(x); if x > max then begin second := max; max := x; end else if x > second then second := x; until x = 0; writeln(second); end.
Объяснение кода листинга программы
- В начале программы объявляются три переменные: x, max и second типа integer (целое число).
- Переменная max инициализируется значением 0, а переменная second также инициализируется значением 0.
- Далее следует повторяющийся блок кода, который выполняется до тех пор, пока пользователь не введет 0.
- В каждой итерации цикла переменная x считывается из стандартного ввода (readln).
- Если x больше текущего значения переменной max, то второе наибольшее значение переменной second присваивается значение переменной max, а max обновляется значением x.
- Если x больше значения переменной second, но меньше значения переменной max, то значение переменной second обновляется значением x.
- После окончания цикла программа выводит значение переменной second с помощью функции writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д