
Вопрос задан 10.07.2023 в 01:22.
Предмет Информатика.
Спрашивает Далдаев Шамхан.
Напишите программу, которая строит случайную перестановку чисел от 1 до N – массив из N натуральных
чисел, в котором есть все числа от 1 до N . Входные данные Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести в одну строку элементы полученного случайного массива, разделив их пробелами. В массиве должны присутствовать все натуральные числа от 1 до N . CPP Примеры входные данные 10 выходные данные 9 2 7 5 6 10 8 4 3 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;
}



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, вот пример программы на C++, которая генерирует случайную перестановку чисел от 1 до N:
cpp#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main() {
int N;
std::cin >> N;
// Создаем вектор с числами от 1 до N
std::vector<int> nums(N);
for (int i = 0; i < N; ++i) {
nums[i] = i + 1;
}
// Используем генератор случайных чисел для перемешивания
std::random_device rd;
std::mt19937 rng(rd());
// Перемешиваем вектор
std::shuffle(nums.begin(), nums.end(), rng);
// Выводим перемешанный массив
for (int i = 0; i < N; ++i) {
std::cout << nums[i] << " ";
}
return 0;
}
Программа сначала считывает значение N, затем создает вектор с числами от 1 до N и перемешивает его с помощью генератора случайных чисел. Наконец, программа выводит полученный массив на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 2132

Информатика 63

Информатика 14

Информатика 32

Информатика 19

Информатика 15

Информатика 175

Информатика 31

Информатика 48
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili