循环中重复的随机数

时间:2011-06-14 14:09:40

标签: c++

  

可能重复:
  Repeated random number in a loop

感谢之前的评论,我更新了代码。

首先在main函数中调用srand

int main ()
{
//DefineRelationstozero (); //All predecessors are set to -1
srand((unsigned)time(0));
.......
......
......
for (int k=0;k<iterationnumber;k++)
{
.....
RandomKey ();//i call randomkey for every iteration
}...

void RandomKey ()
{


        for (int k=0;k<ActivityNumber;k++)
         {

        Act_num[k].Priority=(rand()%10000)*0.0001;//random number

         }


        for (int i=0;i<ActivityNumber;i++)
           arr[i]=Act_num[i].Priority;               

....

结果:对于每次迭代,我在arr []

中得到完全相同的数字

1 个答案:

答案 0 :(得分:0)

也许是Act_num [k] .Priority是int。当你打电话:

(rand()%10000)*0.0001

它给出了&lt; 0,0.999&gt;中的数字。所以,如果Act_num [k] .Priority是整数,那么你可以从这个随机数得到最低点。所以它一直都是0