Как распечатать элементы из массива, созданного с помощью new? - PullRequest
0 голосов
/ 23 апреля 2020
#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;

 }

enter image description here После ввода n мы динамически распределяли массив размера n / 2 и затем сохраняли случайное число. И когда я запускаю его, остальное работает нормально, но выводит только значение arr. Где не так?

...