| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6048 人关注过本帖
标题:求解:srand((unsigned)time(NULL));
取消只看楼主 加入收藏
钉子刘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2013-6-4
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:3 
求解:srand((unsigned)time(NULL));
在rand()函数前加了srand((unsigned)time(NULL));还是得到相同的结果。
系统时间太相近,那怎么样让它有所不一样呢?
2013-07-01 11:09
钉子刘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2013-6-4
收藏
得分:0 
有这种表述方法么:srand((unsigned)time(NULL)*1000);????
2013-07-01 11:23
钉子刘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2013-6-4
收藏
得分:0 
回复 3楼 veketdelphi
有时候rand()不需要个放在循环内,也特意把它安在循环内么
2013-07-01 12:02
钉子刘
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2013-6-4
收藏
得分:0 
回复 7楼 空白先生
我遇到的情况是在嵌套函数里:我把重要的代码截下来了
程序代码:
void changeSchedule()
{    int num;
        srand((unsigned)time(NULL)); 
        num=rand()%2;
    //随机选择一种方案
    cout<<"随机选了第"<<num<<"种方案:"<<endl;
    switch(num)
    {
    case 0:
        {
        swap();
        break;
        }
    case 1:
        {
        remap();
        break;
        }
    }
    return;
}
void swap()
{  srand((unsigned)time(NULL)); 
   //随机取出两处理器
   while(pro1==pro2)
   {
      pro1=1+rand()%PRONUM;
      pro2=1+rand()%PRONUM;      
   }
   if(temp1!=0 && temp2!=0)
   {   tempp1=ran1[rand()%temp1];
       tempp2=ran2[rand()%temp2];
   }
   else       changeSchedule();   
   return;
}

结果是迭代了2000多次才会得到不一样的随机结果。。。这是代码的问题嘛?
2013-07-02 15:55
快速回复:求解:srand((unsigned)time(NULL));
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved