default_random_engine не рандомизирует значения для меня

Когда я запускаю свою функцию x а также y значения остаются неизменными при каждом запуске. Я не уверен, что я использую default_random_engine неправильно или нет. Как я могу получить мой x а также y значения с использованием dist(engine) рандомизировать, а не выводить один и тот же результат при каждом запуске программы?

1 ответ

"Семя" - это то, что обеспечивает генератор псевдонумерации своей "случайностью". Если вы инициализируете его тем же начальным числом, вы получите тот же "случайный" шаблон.

Здесь вы, вероятно, пропускаете одно и то же семя все время.

Может быть, вы должны определить свою функцию следующим образом:

long double fn( long reps, default_random_engine & engine )

Объявите один экземпляр вашего генератора случайных чисел, когда вы запустите свою программу, и запустите его один раз со значением, которое всегда будет отличаться при запуске вашей программы (например, системное время). Затем передайте генератор в любые функции, которые требуют генерации случайных чисел.

Другие вопросы по тегам