| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 292 人关注过本帖
标题:随机函数的使用
只看楼主 加入收藏
亦尘
Rank: 1
等 级:新手上路
帖 子:21
专家分:3
注 册:2011-11-16
结帖率:55.56%
收藏
已结贴  问题点数:10 回复次数:3 
随机函数的使用
请各位大哥,指点啊,为什么我用rand()函数结果长生数据一样啊,每次都是0;
#include<iostream.h>
#include<stdlib.h>
#include<time.h>

const int max=5;

void main()
{
    int a[max][max];
    int i,j,num,row,col;
    for(i=0;i<max;i++)
        for(j=0;j<max;j++)
            a[i][j]=0;
        srand((int)time(0));
        num=1+((int)rand()/RAND_MAX)*5;     //随机产生非0元个数
        for(i=0;i<num;i++)
        {
            row=((int)rand()/RAND_MAX)*25;   //随机产生行
            col=((int)rand()/RAND_MAX)*25;   //随机产生列
            a[row][col]=1+((int)rand()/RAND_MAX+1.0)*100;  //随机产生Aij
        }
        for(i=0;i<max;i++)
        {
            for(j=0;j<max;j++)
                cout<<a[i][j]<<"\t\t";
            cout<<endl;
        }
}
搜索更多相关主题的帖子: max include 
2012-04-17 20:15
Wikyo_hoho
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
收藏
得分:5 
程序代码:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main()
{
    srand((int)time(0));
    cout<<rand()/RAND_MAX ;
} 
你试下这程序
rand()/RAND_MAX  这个就是就是等于0,你应该先把rand()转化成float或者double型
2012-04-17 20:47
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:5 
按照你写的程序你只会产生a[0][0]这个随机数,楼上说得对rand()/RAND_MAX就是为零....你应修改一下你变量的类型
2012-04-19 00:12
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
那天刚写了一个,不过从网上找的rand用法建议楼主搜一下系统学习

编程之路定要走完……
2012-04-19 07:40
快速回复:随机函数的使用
数据加载中...
 
   



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

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