default_random_engine不为我随机化值

时间:2013-09-30 22:44:01

标签: c++ random random-seed

当我运行我的功能时,我的xy值在每次运行时都保持不变。我不确定我是否正确使用default_random_engine。如何使用x获取ydist(engine)值进行随机化,而不是每次程序执行时输出相同?

1 个答案:

答案 0 :(得分:0)

'种子'是为伪子生成器提供“随机性”的东西。如果使用相同的种子初始化它,您将获得相同的“随机”模式。

在这里,你可能一直都在传递相同的种子。

也许你应该这样定义你的功能:

long double fn( long reps, default_random_engine & engine )

在运行程序时声明随机数生成器的单个实例,并将种子播种,其值在程序启动时始终不同(例如系统时间)。然后,将生成器传递给任何需要生成随机数的函数。