Вопрос по информатике:
Дан одномерный массив 1..n(n любое значение) нужно заполнить массив случайными числами, числа не должны повторяться во всем массиве
- 21.06.2018 04:10
- Информатика
- remove_red_eye 10337
- thumb_up 32
Ответы и объяснения 1
#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
- 22.06.2018 22:55
- thumb_up 20
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.