【发布时间】:2013-09-12 19:06:00
【问题描述】:
我的代码有问题,我尝试生成一个介于 0 和 dim 用户定义变量之间的数字。我遇到的问题是:
arrayPos = rand()%dim;
我已经打电话给srand(time(NULL)),并且 arrayPos 得到了一些奇怪的数字,比如 9.267e-315 等等。
关于如何解决它的任何想法?
谢谢
【问题讨论】:
-
我很确定之前在 Stackoverflow 上有人问过这个问题......
-
如果您使用 C++,尤其是 C++11,则应避免使用
rand(),应考虑使用 harmful,此外使用% dim不会产生均匀分布,应避免使用(我链接到的视频解释了原因) -
您的代码应该(在某种程度上合理地)按照所写的那样工作。 9.267e-315 在我看来就像“未初始化变量中的随机垃圾”。问题可能出在其他地方,在您未显示的代码中。
-
arrayPos 是如何定义的?暗淡是如何定义的?你是怎么把东西打印出来的?等等等等等等
标签: c++ c arrays random matrix