Re: [問題] c++遞迴

看板C_and_CPP (C/C++)作者 (幼兒)時間17年前 (2007/10/06 23:45), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《infant00 (幼兒)》之銘言: : 一個array{a,b,c} : 丟到一個recursive function : 可以印出{}{a}{b}{c}{a,b}{a,c}{b,c}{a,b,c} : 不知道怎麼解? : 可以說明怎麼想出來的嗎 : 就是過程之類的 : 感謝 囧rz 謝謝av駭客的點子 讓我寫的出作業 有不少版友密我要程式碼 嫌麻煩就PO在板上囉~ 寫的不是很好 希望大家可以幫忙修改一下 #include<iostream> #define N 3 using namespace std; void b(int a[],int s); int main() { int a[N]; for(int i=0;i<N;i++) a[i]=i+1; b(a,N); return 0; } void b(int a[],int s) { int t,u=0; cout<<"{"; for(int i=0;i<N;i++) if(a[i]>0) cout<<a[i]<<","; cout<<"}"<<endl; if(s>0) { for(i=0;i<N;i++) if(a[i]==0) u=i; for(i=u;i<N;i++) if(a[i]!=0) { t=a[i]; a[i]=0; b(a,s-1); a[i]=t; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.138.19 ※ 編輯: infant00 來自: 140.113.138.19 (10/06 23:46)

10/06 23:46, , 1F
如果要印出abc 就用printf("%c",'a'+i)
10/06 23:46, 1F
※ 編輯: infant00 來自: 140.113.138.19 (10/06 23:49)

10/07 01:08, , 3F
在project的link加上-mwindows這一行即可
10/07 01:08, 3F

10/07 01:08, , 4F
GOD,我推錯了囧,真不好意思
10/07 01:08, 4F

10/07 14:22, , 5F
b() 裡面的 int i 在離開第一個 for loop 時就消失囉
10/07 14:22, 5F

10/07 14:23, , 6F
所以再來的兩個 for loop 裡面的 i 是不合法的
10/07 14:23, 6F
文章代碼(AID): #171wsUiz (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
10
10
完整討論串 (本文為第 2 之 3 篇):
10
10
2
6
5
5
文章代碼(AID): #171wsUiz (C_and_CPP)