На данный вопрос уже ответили:
Имеется код:
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void main()
{
int n, k;
cout << "Enter the size of the first array: ";
cin >> n;
cout << "Enter the size of the second array: ";
cin >> k;
int* arr_1 = new int[n];
int* arr_2 = new int[k];
for (int i = 0; i < n; i++)
{
srand(time(0));
arr_1[i] = rand() % 10;
}
for (int i = 0; i < n; i++)
{
cout << arr_1[i]<<" ";
}
system("pause");
}
Однако каждый раз в rand генерируется одно и то же число (8 8 8 8 (условно)). В чём проблема
srand надо вызвать один раз перед циклом. А вы вызываете его каждый раз в цикле с аргументом time(0). Эта функция возвращает время в секундах. Пока цикл выполняется, время остается в рамках той же секунды, и вы повторно инициализируете генератор случайных чисел тем же начальным числом. Потому и rand возвращает одно и то же.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники