- 分享
- 0
- 人气
- 0
- 主题
- 6
- 帖子
- 2087
- UID
- 202699
- 积分
- 1943
- 阅读权限
- 19
- 注册时间
- 2009-2-24
- 最后登录
- 2018-11-23
- 在线时间
- 8302 小时
        
|
本帖最后由 htuomrev 于 2014-8-10 12:56 AM 编辑
孤独迷惑 发表于 2014-8-9 12:09 PM 
就是那个rand() % question.size() 已经random了
但是就是会从复
你误解了,我没有用array或任何vector又push又delete的方式。
简单来说,比如你的text file里有10题问题,
原本的排序应该是:0,1,2,3,4,5,6,7,8,9
随机打乱:8,6,9,3,1,0,5,7,4,2
如果説你只要五题,所以拿前面五个即可,为:8,6,9,3,1
用排序的方式就绝对不会出现随机重复的问题。
--------------
用你的理论如果要解决,其实简单。
生成一个问题数的array,比如説text file里有十题:arrayA[10]
然后arrayA里的value就为0-9。
这个时候你就取10里的randam number,比如説5
然后把arrayA[5]的value储存到另一个arrayB,然后在从arrayA删了index 5,
这过程重复到arrayB的大小和你需要的题目相同为止。
---------------
当然,从你的code入手你可以在 random_integer[q] = rand() % question.size(); 之前做个detection,看看random_integer里头是否已经存在同样的value,无继续,有则下一个。当然,这效率绝对是惨不忍睹。
---------------
你的 project 如果只是这样还真的是小菜一叠,有详情么?
|
|