问题描述
double Matrix::getRandomNumber()
{
double r;
srand(time(NULL));
r = (double)rand()/RAND_MAX;
return r;
}
我总是得到相同的号码。
我尝试过这种方式:
double Matrix::getRandomNumber()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution<> dist(0,1);
return dist(gen);
}
我仍然得到相同的号码。 我正在使用代码块。 和c ++ 14。
当我这样做时:
void Matrix::printToConsole()
{
for(int y = 0; y<this->Cols; y++)
{
for(int x = 0; x<this->Rows; x++)
{
std::cout<<this->getRandomNumber()<<" ";
}
std::cout<<std::endl;
}
}
这是我在控制台上看到的结果:
0.518082 0.518082 0.518082 0.518082 0.518082
0.518082 0.518082 0.518082 0.518082 0.518082
0.518082 0.518082 0.518082 0.518082 0.518082
0.518082 0.518082 0.518082 0.518082 0.518082
0.518082 0.518082 0.518082 0.518082 0.518082
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)