default_random_engine не рандомизирует значения для меня
Когда я запускаю свою функцию x
а также y
значения остаются неизменными при каждом запуске. Я не уверен, что я использую default_random_engine неправильно или нет. Как я могу получить мой x
а также y
значения с использованием dist(engine)
рандомизировать, а не выводить один и тот же результат при каждом запуске программы?
1 ответ
"Семя" - это то, что обеспечивает генератор псевдонумерации своей "случайностью". Если вы инициализируете его тем же начальным числом, вы получите тот же "случайный" шаблон.
Здесь вы, вероятно, пропускаете одно и то же семя все время.
Может быть, вы должны определить свою функцию следующим образом:
long double fn( long reps, default_random_engine & engine )
Объявите один экземпляр вашего генератора случайных чисел, когда вы запустите свою программу, и запустите его один раз со значением, которое всегда будет отличаться при запуске вашей программы (например, системное время). Затем передайте генератор в любые функции, которые требуют генерации случайных чисел.