Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать код на C++

жоски программист Ученик (62), открыт 1 неделю назад
Второй минимум
Последовательность состоит из натуральных чисел и завершается числом 0
. Определите значение второго минимального по величине элемента в этой последовательности, то есть элемента, который будет наименьшим, если из последовательности удалить наименьший элемент.

Последнее число 0
не учитывается. Гарантируется, что в последовательности есть хотя бы два элемента (кроме завершающего числа 0
).

Входные данные

На вход подаётся последовательность целых неотрицательных чисел, заканчивающаяся нулём. Все числа в последовательности по значению не превосходят 109
.

Выходные данные

Выведите ответ задачи.
ВВОД:
3
2
2
1
1
0
ВЫВОД:
1
2 ответа
Tbl Cocal? Знаток (472) 1 неделю назад
#include <iostream>
#include <limits>

int main() {
int num;
int min1 = std::numeric_limits<int>::max(); // Минимальное значение
int min2 = std::numeric_limits<int>::max(); // Второе минимальное значение

// Чтение чисел до тех пор, пока не будет введен 0
while (true) {
std::cin >> num;
if (num == 0) {
break; // Завершение ввода при вводе 0
}

// Обновление минимальных значений
if (num < min1) {
min2 = min1; // Обновляем второе минимальное значение
min1 = num; // Обновляем минимальное значение
} else if (num < min2 && num != min1) {
min2 = num; // Обновляем второе минимальное значение
}
}

// Вывод второго минимального значения
std::cout << min2 << std::endl;

return 0;
}
жоски программистУченик (62) 1 неделю назад
С чата гпт ай ай ай
Tbl Cocal? Знаток (472) я всегда буду злодеем
жоски программистУченик (62) 1 неделю назад
ну 1 тест проходит, второй валит
Николай Веселуха Высший разум (368762) 1 неделю назад
 #include <iostream> 
#include <limits>
using namespace std;
int main() {
unsigned a, b, c;
a = b = numeric_limits<unsigned>::max();
while (true) {
cin >> c;
if (!c) break;
if (c <= a) {
b = a;
a = c;
} else if (c < b) {
b = c;
}
}
cout << '\n' << b << '\n';
}
Похожие вопросы