顯示廣告
隱藏 ✕
Disp BBS guest 註冊 登入(i) 線上人數: 70
看板 Programming
作者 abc1231qa(替咖)
標題 [請益] 用遞迴實作巢狀迴圈
時間 2010年06月13日 Sun. AM 02:30:50


這是我寫的function show只是輸出 func的三個變數是從多少開始倒數

EX: 321的話 會跑

3 2 1

3 2 0

3 1 1

3 1 0

3 0 1

3 0 0

2 2 1

2 2 0

2 1 0

以此類推

999的話就是從999倒數到000

---------------------------------------------------------------

int  temp;
void show(int A,int B,int C)
{
    system("cls");
    cout<<" "<<A<<" "<<B<<" "<<C<<endl;
    Sleep(100);
}
 
void func(int A,int B,int C) {//這個function可以執行三層的巢狀迴圈
     int i =0,j=0;
     if(A!=0)//初始值0
     {
         if(B!=0)//初始值0
         {
             if(C!=0)//初始值0
             {
                 show(A,B,C);
                 func(A,B,C-1);
             }
             else//C=0
             {
                 show(A,B,C);
                 func(A,B-1,temp);
             }
         }
         else//B=0
         {
             
             if(C!=0)
             {
                 show(A,B,C);
                 func(A,B,C-1);
             }
             else//B=0&&C=0
             {
                 show(A,B,C);
                 func(A-1,temp,temp);
             }
         }
     }
     else//A=0
     {        
         if(B!=0)//初始值0
         {
             if(C!=0)//初始值0
             {
                 show(A,B,C);
                 func(A,B,C-1);
             }
             else//C=0
             {
                 show(A,B,C);
                 func(A,B-1,temp);
             }
         }
         else//A=0&&B=0
         {
             
             if(C!=0)
             {
                 show(A,B,C);
                 func(A,B,C-1);
             }
             else//B=0&&C=0
             {
                 show(A,B,C);
                 //func(A-1,temp,temp);
             }
         }
     }
}


---------------------------------------------------------------

以上不是重點

重點是

如果我想實作N層迴圈我該怎麼做?

N為一個變數 不一定是多少 所以不能這樣寫死

也就是說

如果我想要寫都是從9開始倒數

但是可以讓使用者自訂要9 99 999 9999 到N個9都可以的跑這種

要怎麼寫阿?


有在消勾勾的答一下吧XD

--
※ 來源: DISP BBS 看板: Programming 文章連結: http://disp.cc/b/33-396
※ 作者: abc1231qa  來自: 134.208.40.177  時間: 2010-06-13 02:30:51
※ 看板: Programming 文章推薦值: 1 目前人氣: 0 累積人氣: 760 
分享網址: 複製 已複製
1樓 時間: 2010-06-13 12:25:51 (台灣)
  06-13 12:25 TW
輸入值放陣列比較好吧 如果要可變N那就用動態產生陣列 ... 
要出門晚點再來回
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇