Условие
Дана последовательность целых чисел, оканчивающаяся нулём. Необходимо найти число, наиболее близкое к максимальному по величине числу в этой последовательности (второй максимум). Ноль числом последовательности не считается.
Если в последовательности два числа равных максимуму, то вторым максимумом считается число равное первому максимуму.
Формат входных данных
Вводится не более чем 2 (в 15 степени) целых чисел, каждое из которых не превосходит по модулю 2(в 15 степени)−1. После последнего числа вводится 0. Гарантируется, что последовательность содержит хотя бы два элемента.
Формат выходных данных
Требуется вывести искомое число.
входные данные
13
42
6
0
33
32
33
0
Выходные данные
13
33
#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;
}