永发信息网

在C++当中如何在一定离散不连续数据当中产生随机

答案:3  悬赏:60  手机版
解决时间 2021-07-26 03:29
本人的意思是:比喻我要在2,45,56,4,67,88,100,245,567744这几个数据当中产生随机,要怎么实现,如果是那种在大量数据中随机然后比对这些数据是否相等而产生结果,那就不用了(那不知道何时才能随机到想要数据)。
最佳答案
2,45,56,4,67,88,100,245,567744组成数组,设置初始大小为9,在0-8之间取随机,随机数作为下标从数组中取得需要的随机结果,并将结果与数组最后一个数据替换,数组大小减1。迭代下去即可。
如第一次,在0-8之间取到随机数1,则第二个数45与数组第九个数567744替换,返回结果为45,数组状况如下:2,567744,56,4,67,88,100,245,45数组大小为9-1 = 8;
第二次,在0-7之间取到随机数6,则第7个数100与当前数组第八个数245替换,返回结果为100,数组状况如下:2,567744,56,4,67,88,245 ,100,45数组大小为8-1 = 7;
...九次之后,随机结束。
全部回答

int x[9] = {2,45,56,4,67,88,100,245,567744};

srand(time(NULL));

int index = rand()%8;

return x[index];

大致就是这样了,不知道你是不是这个意思

如果说你选取的样本数是确定的,如你例子中的共有9个数据,你可以产生1~9范围内的随机整数,将它们作为下标选择这些数字,不知道我的表达是否清楚。当然为了区分某个数已经被选过,你可以将选过的数字统一置为0或者其他标记然后加以判断即可。或者可以采用vector,将选过的数字从其中删去,但同时随机的下标的范围也要进行修改。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三G网卡出来了吗?
工作丢了可以从找,如果朋友失去了?我该怎么
N78广州报价多少钱
别人搬新居祝福语,弟弟要买房子了。很高兴祝
流经成都的江是什么江?还有现在上面的白鸟是
天水市桥南建材城的邮编是什么
走进------
中级车用什么牌子的机油好些,请说明牌子和价
下载完PS他是一个压缩软件那怎么安装
谁的歌最有特色?
冒险岛女生小萝莉发型在哪容易随到?
求几本神话爱情电影。(最好英国的)
炫舞购物卷是什么?怎么用?
谁能帮我免费设计一个广告商标
CF 当警时。玩黑色城镇时。一个人防守B的最佳
推荐资讯
什麽才是完美?
小区内的车棚规定几点关门
诺基亚同品牌的手机。什么功能都一样就是像素
向上看是什么看,形容抬头向上看的词语
谁告诉我这个答案
地下城暴率有多高5.76COF
最近有什么新歌出版啊?麻烦说说
dell inspiron 1545 玩 PS2效果怎么样?
我昨天清晨梦到被班上某个男同学亲,解梦解梦
the face shop的产品好吗?
人工VE睫毛能长长吗
初中二班口号,有关九年级二班的校运会的入场
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?