#arrays #comparison
#массивы #сравнение
Вопрос:
Мне нужен способ проверить, все ли числа, введенные пользователем, составляют числа от 1 до 15. Без дубликатов.
Пока что у меня есть программа, которая проверяет, больше ли чисел 15 или меньше 1, но я не имею ни малейшего представления о том, как проверить каждое число, введенное в массив, и посмотреть, было ли оно уже введено в массив.
Это то, что у меня есть до сих пор.
#include <iostream>
using namespace std;
int main() {
bool somethingBadHappend=false; //booleans like this make it easy for the program to be read
int numbers[15]{};
cout << "enter 15 numbers:";
for (int i = 0; i < 15; i )
{
cin>>numbers[i]; //entering them into the array
}
if (numbers[i] > 15|| numbers[i]<=0)
{
somethingBadHappend = true;
}
}
if (somethingBadHappend) //see the perfect use of code here?
{
cout<<"NOT GOOD"; // How elegant!
}
else
cout<<"GOOD";
return 0;
}
Ответ №1:
Если я понял ваш вопрос, вам нужно выполнить еще одну проверку в массиве, чтобы увидеть дубликат.
#include <iostream>
using namespace std;
int main() {
bool somethingBadHappend=false; //booleans like this make it easy for the program to be read
int numbers[15]{};
cout << "enter 15 numbers:";
for (int i = 0; i < 15; i )
{
cin>>numbers[i]; //entering them into the array
}
//to find values >15 or <1
for (int i = 0; i < 15; i )
{
if (numbers[i] > 15 || numbers[i]<=0)
{
somethingBadHappend = true;
}
}
//to find the duplicate into array
for (int i = 0; i < 15; i ){
for(int c=0; c<15; c ){
if(i!=c){ // check the different index
if(numbers[i]==numbers[c]){
somethingBadHappend = true; //found duplicate
break;
}
}
}
}
if (somethingBadHappend) //see the perfect use of code here?
{
cout<<"NOT GOOD"; // How elegant!
}
else
cout<<"GOOD";
return 0;
}
Комментарии:
1. Спасибо! Извините за задержку