如何在c ++ / cli中生成1和定义的最大值之间的随机双倍,我在随机标题中使用random_number_distribution和mersenne twister但是从不在cli中,这将在cli中使用random或system :: random,或者有任何类似的替代品吗?谢谢。
答案 0 :(得分:0)
这里&#39>
double randDouble(double fMin, double fMax)
{
double f = (double)rand() / RAND_MAX;
return fMin + f * (fMax - fMin);
}
答案 1 :(得分:0)
System::Random
类及其NextDouble
方法就是您想要的。 NextDouble
将返回一个双> = 0.0和< 1.0。因此,要返回介于1和最大值之间的值:
double RandOneToMax(double max)
{
Random^ r = ...;
return (r->NextDouble() * (max - 1)) + 1;
}