24小时热门版块排行榜    

查看: 226  |  回复: 7
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yangxiquan1

铜虫 (小有名气)

[交流] 求vc++中 产生【0,1】均匀分布的随机数的原程序

求哪位同学能给个vc++中 产生【0,1】均匀分布的随机数的原程序,尽量周期T为无穷大。
谢谢

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpq113

至尊木虫 (著名写手)


http://www.yuloo.com/news/0906/241670.html
#include
  #include
  #include
  #include
  void main()
  {
  srand( (unsigned)time( NULL ) ); //注意不要放在for循环里,否则产生的数是同一个数。
  for(int i=0;i<100000;i++)
  {
  cout<  }
  }
5楼2009-06-12 08:32:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

hanvs2009

银虫 (小有名气)

有自己带的函数吧RAND().注意是大写的,具体看MFC的帮助,我就不复制了。
2楼2009-06-11 19:58:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpq113

至尊木虫 (著名写手)


一、平均分布随机数的产生
    大家都知道,随机数在各个方面都有很大的作用,在vc的环境下,为我们提供了库函数rand()来产生一个随机的整数。该随机数是平均在0~RAND_MAX之间平均分布的,RAND_MAX是一个常量,在VC6.0环境下是这样定义的:


#define RAND_MAX 0x7fff
   它是一个short 型数据的最大值,如果要产生一个浮点型的随机数,可以将rand()/1000.0这样就得到一个0~32.767之间平均分布的随机浮点数。如果要使得范围大一点,那么可以通过产生几个随机数的线性组合来实现任意范围内的平均分布的随机数。例如要产生-1000~1000之间的精度为四位小数的平均分布的随机数可以这样来实现。先产生一个0到10000之间的随机整数。方法如下 :

int a = rand()%10000;
然后保留四位小数产生0~1之间的随机小数:

double b = (double)a/10000.0;
3楼2009-06-11 20:07:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangxiquan1

铜虫 (小有名气)

要理想随机的,RAND 根本就不随机。
4楼2009-06-12 08:22:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见