[問題] 開啟array 問題

看板C_and_CPP (C/C++)作者 (天空乂皓)時間13年前 (2013/01/24 01:43), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual Studio 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 這是一個擲銀的function n 代表投1個硬幣多少次 run 是代表運行多少次 eg1. n = 5, run = 3 那麼結果是 "11011" "10101" "00111" eg2. n = 3, run = 4 結果會是 "110" "101" "111" "011" 上面結果只是舉個例 最後結果是輸出 出現110的機率, 在eg1.中結果就是1/3 在eg2就是1/4 其實下面我寫的是可以成功找到正確機率.... 但是我有關於開array的問題... 我用了開array的方式來 儲存每次投銀的結果.. 可是我目標是想開n個格子來 儲存投銀結果...但是我寫save[n]是會出現錯誤... 到底為什麼會這樣?? PS初學C++不久....如果大大有空的話,我也有興趣參考一下其他人的寫法 double f1 (double run, int n, int seed) { srand(seed); double count = 0; int save[10]; <-------這個位置我希望可以改成save[n],來指定開多少個格 子放擲銀後的結果...但當改成save[n]會出現error 所以我先改成save[10]。 for (int u = 0; u < run; u++) { for(int i = 0; i < n ; i++) { save[i] = 0 + rand()%2; } for(int k = 0; k < n - 1; k++) { if((save[k] == 0)&&(save[k+1] == 0)&&(save[k+2] == 1)) { count++; break; } } } double result; result = count/run; return result; } 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.6.199.29

01/24 01:46, , 1F
int *save = new int [n];
01/24 01:46, 1F

01/24 02:04, , 2F
是成功的@@但不太懂這句意思...可以解釋一下嗎...
01/24 02:04, 2F

01/24 02:04, , 3F
我有學過指標
01/24 02:04, 3F

01/24 02:19, , 4F
取得一個類型為int長度為n的陣列 並將其指標付給save?
01/24 02:19, 4F

01/24 02:53, , 5F
我想我要看這篇...但有點晚...睡醒再看好了..謝謝解答
01/24 02:53, 5F
文章代碼(AID): #1H025Gaz (C_and_CPP)
文章代碼(AID): #1H025Gaz (C_and_CPP)