Предмет: Информатика, автор: Vitter

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
Пожалуйста.
Похожие вопросы
Предмет: Русский язык, автор: Nuras077