Напишите программу, которая строит случайную перестановку чисел от 1 до N – массив из N натуральных чисел, в котором есть все числа от 1 до N .
Входные данные
Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в одну строку элементы полученного случайного массива, разделив их пробелами. В массиве должны присутствовать все натуральные числа от 1 до N .
CPP
Примеры
входные данные
10
выходные данные
9 2 7 5 6 10 8 4 3 1
Ответы на вопрос
Ответил Helper211
1
Ответ:
#include <iostream>
#include <ctime>
int main()
{
int N, i, k, tmp;
int A[10000];
std::cin >> N;
for (i = 0; i < N; i++)
A[i] = i+1;
srand(time(0));
for (i = 0; i < N; i++)
{
tmp = A[i];
k = rand() % N;
A[i] = A[k];
A[k] = tmp;
}
for (i = 0; i < N; i++)
std::cout << A[i] << " ";
return 0;
}
alibimukanov:
а как сделать чтоб первое число всегда 5
Новые вопросы
Алгебра,
1 год назад
Қазақ тiлi,
2 года назад
Химия,
2 года назад
Русский язык,
7 лет назад
Английский язык,
7 лет назад