我使用 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);
}
最佳答案
这种行为是为随机数生成器设计的。启动程序时,您需要为随机生成器设置“种子”。
如果您有 C++ 扩展,@WhozGraig 推荐它们是最好的。这很草率,但很多人使用 time() 函数在每次程序运行时获取不同的数字。
关于c++ - 如何使用 uniform_real_distribution 生成不同的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516841/