Re: [問題] 動態調整深度的迴圈(loop)

看板C_and_CPP作者 (雅古蟹)時間14年前 (2009/10/29 06:03), 編輯推噓4(405)
留言9則, 3人參與, 最新討論串2/7 (看更多)
試作 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

10/29 09:04, , 1F
如果前幾次迴圈的index(上一篇的a b c那篇變數)都拿不到
10/29 09:04, 1F

10/29 09:04, , 2F
寫多層迴圈就沒有意義啦..
10/29 09:04, 2F

10/29 09:04, , 3F
你這樣寫,在function body那裡只看得到最內層迴圈的
10/29 09:04, 3F

10/29 09:04, , 4F
index
10/29 09:04, 4F

10/29 10:04, , 5F
有道理, 就算用全域變數, 除非用vector之類的不然很難先
10/29 10:04, 5F

10/29 10:05, , 6F
寫好變數數量.... 可以用遞迴加不定長度參數嗎....XD
10/29 10:05, 6F

10/29 12:37, , 7F
前一層的index不是當做參數傳到下一層的遞迴裡了...?
10/29 12:37, 7F

10/29 13:00, , 8F
樓上, 怎麼傳?? 你的index越來越多, 所以像小弟說的用
10/29 13:00, 8F

10/29 13:00, , 9F
不定參數傳嗎?_?
10/29 13:00, 9F
文章代碼(AID): #1AwB-hyU (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AwB-hyU (C_and_CPP)