Проверьте, все ли содержимое массивов находится между диапазоном чисел, без дубликатов

#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. Спасибо! Извините за задержку