#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main() {
srand(time(NULL));
while (1) {
int n;
bool check_dup = false;
cout << "Please enter a number: ";
cin >> n;
if (n < 2) {
cout << "Wrong number!!!" << endl;
break;
}
cout << "Size of random array: " << n / 2 << endl;
int* arr = new int[n / 2];
cout << "[ Array ]" << endl;
for (int i = 0; i < n/2 / n; i++) {
arr[i] = rand() % n + 1;
cout << arr[i];
}
for (int i = 0; i < n/2; i++) {
for (int j = i+1; j < n/2; j++) {
if (arr[i] == arr[j])
check_dup = true;
}
}
if (check_dup) cout << "Duplicates found" << endl;
else cout << "Duplicates not found" << endl;
delete[] arr;
}
return 0;
}
После ввода n мы динамически распределяли массив размера n / 2 и затем сохраняли случайное число. И когда я запускаю его, остальное работает нормально, но выводит только значение arr. Где не так?