Определите значение второго по величине элемента в последовательности - 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.

Объяснение кода листинга программы

  1. В начале программы объявляются три переменные: x, max и second типа integer (целое число).
  2. Переменная max инициализируется значением 0, а переменная second также инициализируется значением 0.
  3. Далее следует повторяющийся блок кода, который выполняется до тех пор, пока пользователь не введет 0.
  4. В каждой итерации цикла переменная x считывается из стандартного ввода (readln).
  5. Если x больше текущего значения переменной max, то второе наибольшее значение переменной second присваивается значение переменной max, а max обновляется значением x.
  6. Если x больше значения переменной second, но меньше значения переменной max, то значение переменной second обновляется значением x.
  7. После окончания цикла программа выводит значение переменной second с помощью функции writeln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы