如何使用uniform_real_distribution生成不同的数字?

时间:2016-11-09 22:08:43

标签: c++ random

我使用default_random_engine生成不同数字的列表,但它们恰好相同。我想知道生成不同的数字?我知道srand()的确如此。但我可以使用此默认引擎吗?

default_random_engine engine{ static_cast<unsigned int>(time(0)) };
uniform_real_distribution<double>randomNumber{ 50,100 };
for(int i=0; i<10;i++){
  a[i]= randomNumber(engine);
  }

1 个答案:

答案 0 :(得分:2)

这种行为是随机数生成器的设计。您需要在启动程序时为随机生成器设置“种子”。

如果你有C ++扩展名@WhozGraig建议他们是最好的。它非常草率但很多人使用time()函数在每次程序运行时获得不同的数字。