荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: wayman (wayman), 信区: Program
标 题: Re: 求随机抽取的方法
发信站: 荔园晨风BBS站 (Thu Apr 26 22:41:28 2001), 转信
#include<iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main()
{
int a[]={1,2,4,5,345,12,432,34,546,3,342,123};
int i,number,result,ran;
float divide;
srand( (unsigned)time( NULL ) );
number=5;
i=0;
while(i<number)
{
//if (i==number) break;
ran=rand();
divide=ran/number;
result=(ran/divide-number)*100;
if (a[result]=='null') continue;
if(result<=number && result>=0)
{
cout<<a[result]<<endl;
a[result]='null';
i++;
}
else
{
continue;
}
}
}
刚刚用c++编出来的,可以随机取出5个数组内的内容
【 在 wayman (wayman) 的大作中提到: 】
: 可以用一个数组先存放n个数,用一个while
: 随机产生m个数组的下标,每取一个数就将
: 该数组设成null。不过系while的最开始应该
: 用一条if来判断数组是否null。
: 没有上机试过,请指教
: 【 在 davi (必然可能) 的大作中提到: 】
: : 在n个数里面随机抽取m个数,m<n,要求m个
: : 数中不得有重复的,并且要求系统开销小。
--
can't nobody take my pride!!!
can't nobody hold me down!!!
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.73]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店