Я пытаюсь выяснить код, который может определять наибольшее число, наименьшее число, второе по величине число и второе наименьшее число для набора введенных чисел. Вот мой код. У меня возникают проблемы в основном из-за инициализации переменных. Буду признателен за любую помощь!C++ looping, самое большое/наименьшее введенное число
Мой код:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(){
string buffer;
unsigned n;
double min = 1, max = 0;
double min2 = 1, max2 = 5;
cout << "How many integers will you enter? ";
cin >> n || die("Input failure ");
cout << "OK type the " << n << " integers, non #'s to quit: ";
for (unsigned count = 0; count < n; count++){
double num;
cin >> num;
if (min > num){
min = num;
}
else if (max < num){
max = num;
}
else if (num >= max2 && num <= max){
max2 = num;
}
else if (num >= min2 && num <= min){
min2 = num;
}
} cout << "The largest number is: " << max << endl;
cout << "The smallest number is: " << min << endl;
cout << "The second smallest number is: " << min2 << endl;
cout << "The second largest number is: " << max2 << endl;
cin >> buffer;
}
Здравствуйте! Я на самом деле очень новичок в C++, как бы применить std :: set или std :: vector? Я заменю использование пространства имен std; для использования пространства имен std :: set? – Beezy
Также можно достичь конечного результата со значениями, которые не уникальны, как я сделал это выше, не используя набор или вектор? – Beezy
Привет @Breezy, и добро пожаловать в SO! Вам не нужно менять строку 'using namespace std' - это означает, что вы можете изменить' set 'в моем примере на' std :: set '. 'std' - это пространство имен, и такие вещи, как' set', 'cout' и' cin', являются объектами внутри этого пространства имен. Лично я не ставил строку 'using namespace std' и префикс моих стандартных объектов библиотеки с помощью' std', поэтому я помню, откуда они пришли. :-) –