Re: [問題] 亂數不重複
看板C_and_CPP (C/C++)作者LPH66 ((short)(-15074))時間16年前 (2009/05/23 19:33)推噓1(1推 0噓 0→)留言1則, 1人參與討論串3/3 (看更多)
※ 引述《justinC (無)》之銘言:
: 推 LPH66:我覺得問題出在你每次洗牌都srand一次... 05/23 17:04
: → LPH66:srand在整份程式裡只要出現一次在main的開頭即可... 05/23 17:05
: 感謝幫忙!我當時有想過這個問題,可能忘了拿掉
: 於是拿掉後測試,則不會出現太過集中的問題
: 但還不太敢肯定是否沒問題
: 推文中有人提到random_shuffle函式
: 我拿來測試之後,我的方法與系統提供的方法數值很接近
: 大致上已經夠亂,我的問題應該告一段落
那我的猜測果然沒錯
因為每次呼叫都 srand 一次的話
會因為呼叫的時間過近 time(NULL) 取到相同的值
造成洗牌順序不變
(也就是第幾張固定會移到哪一張上面去)
那麼幾次之後就有機會某張牌會還原到原位上去了
(有時這次數會意外的少 XD)
結果就是你所看到的 某張牌固定會在一段時間後出現在該處
--
[LPH] Oops, your OOP's a problem? 說:
你現在還是看不到狗?
************* 說:
看得到 只是 他們不會跑 就一直呆呆在那邊 一直在起點
[LPH] Oops, your OOP's a problem? 說:
你要按"ㄅㄧㄤˋ"它們才會跑啊@@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.84
推
05/23 22:53, , 1F
05/23 22:53, 1F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章