[問題] srand與rand問題

看板C_and_CPP (C/C++)作者 (kswiss)時間14年前 (2011/08/20 23:07), 編輯推噓1(1013)
留言14則, 7人參與, 最新討論串1/1
開發平台(Platform): VS2010 額外使用到的函數庫(Library Used> 無 問題(Question): 此程式是模擬骰子投擲10 次的結果,是個可正常執行的程式,如果將第4行、 第5行、第7行、第8行、第18行改為註解,第12行註解取消則按下Ctrl+F5方式去執行結果異常 但是以按下F10方式去執行結果卻正常,請問這種現象是開發工具問題還是程式邏輯有錯???? 程式碼(Code): http://pastie.org/2401976 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.191.241

08/20 23:18, , 1F
..若你只會copy-past,不會縮排,實在沒人願意幫你..
08/20 23:18, 1F

08/20 23:20, , 2F
同意樓上,這種程式碼想幫你的也會退縮了
08/20 23:20, 2F

08/20 23:20, , 3F
為什麼你的邏輯是隨便選10次骰子然後把選中的骰子點數+1...
08/20 23:20, 3F

08/20 23:45, , 4F
對不起...下次改進,造成前輩們的困擾
08/20 23:45, 4F

08/21 01:42, , 5F
我是不覺得困擾啦,只是覺得幫不了你很可惜
08/21 01:42, 5F

08/21 07:20, , 6F
照你程式的邏輯 應該都會異常才對呀
08/21 07:20, 6F

08/21 07:22, , 7F
抱歉 我想錯邏輯了 你是紀錄1有幾次 2有幾次 這樣...
08/21 07:22, 7F

08/21 07:32, , 8F
我想他主要是問說srand()在程式一開始就執行一次
08/21 07:32, 8F

08/21 07:32, , 9F
與每次用rand前都執行的差別 另外Ctrl-F5與F10的功用是?
08/21 07:32, 9F

08/21 07:52, , 10F
異常是指都結果都集中在同一數嗎??
08/21 07:52, 10F

08/21 12:52, , 11F
rand是去依照順序拿取srand產生的亂數表
08/21 12:52, 11F

08/21 12:52, , 12F
然後srand是以秒為單位改變內容,所以一直srand就會
08/21 12:52, 12F

08/21 12:53, , 13F
造成每次取出來都是一樣的數字(同一秒內)
08/21 12:53, 13F

08/21 21:41, , 14F
正確來說是因為time(NULL)才會以秒改變單位
08/21 21:41, 14F
文章代碼(AID): #1EJyt3qk (C_and_CPP)
文章代碼(AID): #1EJyt3qk (C_and_CPP)