Условие
Дана последовательность целых чисел, оканчивающаяся нулём. Необходимо найти число, наиболее близкое к максимальному по величине числу в этой последовательности (второй максимум). Ноль числом последовательности не считается.

Если в последовательности два числа равных максимуму, то вторым максимумом считается число равное первому максимуму.

Формат входных данных
Вводится не более чем 2 (в 15 степени) целых чисел, каждое из которых не превосходит по модулю 2(в 15 степени)−1. После последнего числа вводится 0. Гарантируется, что последовательность содержит хотя бы два элемента.

Формат выходных данных
Требуется вывести искомое число.

входные данные
13
42
6
0

33
32
33
0
Выходные данные
13

33

vasutа vasutа    1   30.12.2020 02:03    23

Ответы
kmay11 kmay11  30.12.2020 06:00

#include <iostream>

using namespace std;

int main() {

int d,x, max1, max2,min;

cin >> x;

max1 = x;

cin >> x;

max2 = x;

if (max1 < max2) {

 d = max2;

 max2 = max1;

 max1 = max2;

}

while (x != 0) {

 cin >> x;

 if (x >= max1) {

  max2 = max1;

  max1 = x;

 }

 if (max2 < x && x < max1) {

  max2 = x;

 }

 

}

cout << max2;

return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика