Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Прошу помочь без чата ГПТ решить задачу на C++

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

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

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

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

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

Выведите ответ задачи.
ВВОД:
3
2
2
1
1
0
ВЫВОД:
1

По дате
По рейтингу
Аватар пользователя
Новичок
8мес
123456789
 #include <iostream> 
#define max(a,b) ((a)>(b)?(a):(b)) 
int main() 
{ 
	int m1, m2, val; 
	std::cin >> m1 >> m2; 
	while (std::cin >> val, val)if (max(m1, m2) > val)max(m1, m2) = val; 
	std::cout << max(m1, m2); 
} 
Аватар пользователя
Высший разум
8мес
123456789101112131415161718
 #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'; 
} 
Аватар пользователя
Мудрец
8мес

Код(рабочий):

12345678910111213141516171819202122232425
 #include <iostream> 
#include <vector> 
#include <algorithm> 
 
using namespace std; 
 
int main() { 
  int n; 
  cin >> n; 
 
  vector<int> sequence(n); 
  for (int i = 0; i < n; ++i) { 
    cin >> sequence[i]; 
  } 
 
  // Find the minimum element 
  int minElement = *min_element(sequence.begin(), sequence.end()); 
 
  // Find the second minimum element 
  int secondMinElement = *min_element(sequence.begin() + 1, sequence.end()); 
 
  cout << secondMinElement << endl; 
 
  return 0; 
} 
Аватар пользователя
Мыслитель
8мес

Я только код немного понимаю, а язык писать не умею...

Аватар пользователя
Мастер
8мес

не оправдал ник