Информатика, вопрос задал Vitter , 9 лет назад

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

Ответы на вопрос

Ответил petyaGavrikov
0
#include <iostream>
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";
     else cout << "No" << "n";
    return 0;
}

Пример:
2
5
8
1
4
7
3
6
9
10
Yes
Ответил Vitter
0
#include <iostream>
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";
else cout << "No" << "n";
return 0;
}
Ответил Vitter
0
выводит ошибку
Ответил petyaGavrikov
0
Можно вместо int n = 10; написать int const n=10;
Ответил Vitter
0
воо, огромное спасибо !
Ответил petyaGavrikov
0
Пожалуйста.
Новые вопросы