看板 C_and_CPP 關於我們 聯絡資訊
試作 void dyn_depth_loop(int start, int max, int depth) { if (depth > 0) { --depth; for (int a = start; a < max; ++a) { dyn_depth_loop(a, max, depth); } } else if (depth == 0) { /* function body */ } } 這樣子作,應該可以吧 ※ 引述《liwmewmew (如果大海能夠)》之銘言: : 其實這個問題問在C++板有點不太對 : 這好像比較偏演算法了? : 今天在思考一個問題 : 我們也許都曾看過這樣的深層loop : for(a = 0; a < max; a++) : for(b = a; b < max; b++) : for(c = b; c < max; c++){ : } : 這是三層的loop,如果今天我想寫成動態的,該怎麼寫呢? : 例如我輸入3,那他就會跑3層 : 我輸入4,他就跑4層,規則同上 : 我想一個晚上,沒想出來~"~ : 不知道是不是我的思考卡住了,還是這種程式寫不出來? : 謝謝大家~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 86.9.120.242
holymars:如果前幾次迴圈的index(上一篇的a b c那篇變數)都拿不到 10/29 09:04
holymars:寫多層迴圈就沒有意義啦.. 10/29 09:04
holymars:你這樣寫,在function body那裡只看得到最內層迴圈的 10/29 09:04
holymars:index 10/29 09:04
VictorTom:有道理, 就算用全域變數, 除非用vector之類的不然很難先 10/29 10:04
VictorTom:寫好變數數量.... 可以用遞迴加不定長度參數嗎....XD 10/29 10:05
cismjmgoshr:前一層的index不是當做參數傳到下一層的遞迴裡了...? 10/29 12:37
VictorTom:樓上, 怎麼傳?? 你的index越來越多, 所以像小弟說的用 10/29 13:00
VictorTom:不定參數傳嗎?_? 10/29 13:00