C++ вопрос здесь, используя Code :: Blocks. Я пытаюсь запустить этот код, чтобы проверить псевдослучайной функциюRand() возвращает одинаковые или очень похожие выходные значения
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int count = 0;
while (count < 10){
srand(time(NULL));
cout << rand() << ' ';
cout << (time(NULL)) << " \n";
count++;
}
return 0;
}
Выход из этого 10 равных линий. Это не проблема, так как семя здесь одно и то же, поэтому результат должен быть таким же. Проблема в том, что если я снова запустил эту программу, она даст 10 очень похожих строк с небольшим изменением не только на выходе time(), но и на выходе rand.
srand (time (NULL)) дает очень похожие ответы, которые в основном имеют одинаковое возвращаемое значение, только немного больше.
(Возврат 9631 при первом запуске, а затем 9656 на второй).
Мой вопрос в том, что ожидаемое поведение? И как я могу получить более разные результаты, например, 38 при первом запуске, а 671 - во втором?
Не могли бы вы быть более точными. Что вы ожидаете увидеть? Что ты видишь? Как это не оправдает ваши ожидания? –