Задать вопрос
1 июля, 11:03

Дан одномерный массив 1 ... n (n любое значение) нужно заполнить массив случайными числами, числа не должны повторяться во всем массиве

+4
Ответы (1)
  1. 1 июля, 14:24
    0
    Заполним этот массив числами от 1 до n, а затем всё перемешаем.

    #include

    #include

    #include

    using namespace std;

    int main ()

    {

    size_t n = 0;

    cin >> n;

    int * a = new int[n];

    for (size_t i = 0; i < n; i++)

    a[i] = i + 1;

    srand (unsigned (time (0))) ;

    for (size_t i = 0; i < n - 1; i++) {

    size_t j = rand () % (n - i) + i;

    int temp = a[i];

    a[i] = a[j];

    a[j] = temp;

    }

    for (size_t i = 0; i < n; i++)

    cout << a[i] << " ";

    return 0;

    }

    Пример ввода: 10

    Пример вывода: 10 1 5 3 4 6 2 8 9 7
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Дан одномерный массив 1 ... n (n любое значение) нужно заполнить массив случайными числами, числа не должны повторяться во всем массиве ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы