看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)
infant00:如果要印出abc 就用printf("%c",'a'+i) 10/06 23:46
※ 編輯: infant00 來自: 140.113.138.19 (10/06 23:49)
doomleika:在project的link加上-mwindows這一行即可 10/07 01:08
doomleika:GOD,我推錯了囧,真不好意思 10/07 01:08
revivalworld:b() 裡面的 int i 在離開第一個 for loop 時就消失囉 10/07 14:22
revivalworld:所以再來的兩個 for loop 裡面的 i 是不合法的 10/07 14:23