C++ Проверить, содержит ли данный массив из n чисел, все числа от 1 до n.

0 голосов
30 просмотров

C++ Проверить, содержит ли данный массив из n чисел, все числа от 1 до n.


Информатика (62 баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include
using namespace std;

int main() {
    int n=10;
    int a[n];
    int k[n];
    bool b=true;
    for (int i = 0; i < n; i++) cin >> a[i];
    for (int i = 0; i < n; i++) k[i]=0;
    for (int i = 0; i < n; i++) k[a[i]-1]=k[a[i]-1]+1;
    for (int i = 0; i < n; i++)
     if (k[i] != 1) b=false;
    if (b) cout << "Yes" << "\n";<br>     else cout << "No" << "\n";<br>    return 0;
}

Пример:
2
5
8
1
4
7
3
6
9
10
Yes

(194k баллов)
0

#include
using namespace std;

int main() {
int n = 10;
int a[n]; //Выражение должно иметь константное значение
int k[n]; //Выражение должно иметь константное значение
bool b = true;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++) k[i] = 0;
for (int i = 0; i < n; i++) k[a[i] - 1] = k[a[i] - 1] + 1;
for (int i = 0; i < n; i++)
if (k[i] != 1) b = false;
if (b) cout << "Yes" << "\n";<br> else cout << "No" << "\n";<br> return 0;
}

0

выводит ошибку

0

Можно вместо int n = 10; написать int const n=10;

0

воо, огромное спасибо !

0

Пожалуйста.