2016-04-23 71 views
-1

我将如何生成1和C++/cli中定义的max之间的随机double,一次使用随机头中的random_number_distribution和mersenne twister,但从未在cli中使用这工作在随机或系统::随机cli,或有任何类似的替代品?谢谢。在C++/cli中生成1和max之间的随机double

+1

这不是一回事,唯一可以做错的就是不尝试。 –

+0

我打算试试它,但即时通讯工作,并没有访问我的电脑,我无法找到一个解决方案,所以我想问,虽然我宕机 – beginnerjohn

+0

因此,mersenne twister和random_number_distribution工作在cli工作在非托管c + +相同的方式吗? – beginnerjohn

回答

0

这里的

double randDouble(double fMin, double fMax) 
{ 
    double f = (double)rand()/RAND_MAX; 
    return fMin + f * (fMax - fMin); 
} 
+0

林寻找随机双不是一个int – beginnerjohn

+0

看到我最近的编辑。 –

0

System::Random类及其NextDouble方法怎么又是你想要的。 NextDouble将返回一个double> = 0.0和< 1.0。因此,要返回1和最大值之间的值:

double RandOneToMax(double max) 
{ 
    Random^ r = ...; 
    return (r->NextDouble() * (max - 1)) + 1; 
}