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

标签 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);
  }

最佳答案

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

如果您有 C++ 扩展,@WhozGraig 推荐它们是最好的。这很草率,但很多人使用 time() 函数在每次程序运行时获取不同的数字。

关于c++ - 如何使用 uniform_real_distribution 生成不同的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516841/

相关文章:

c++ - 在 C++ 中填充 map 容器时的多态设计

c# - OpenCV - 如何检测和测量两帧之间的角度?

c# - 没有提供种子时随机播种的是什么类?

C++ uniform_int_distribution 总是在第一次调用时返回 min()

c++ - 编译器将 cout'ing 抛出循环

c++ - 固定数量的参数包元素来初始化模板化类

c++ - 构建 64 位库

haskell - 如何使用 random-fu (Haskell) 从正态分布生成 n 个随机数?

php - MYSQL - 随机选择两个用户没有相互关注的行?

MYSQL 从每个类别中选择一个随机记录