Re: [求救]C++

看板ck57th317作者 (sirius)時間18年前 (2006/07/20 14:39), 編輯推噓8(802)
留言10則, 7人參與, 最新討論串4/4 (看更多)
※ 引述《ck910525 (腳痛大學)》之銘言: : 題目;使用者輸入一個字串,印出這些字元的所有排列組合。 : 若限定字元全異,我已經寫好了。 : 但是字串中有相同字元怎麼辦? : 拜託一下 : 感謝 今天在家沒事,想練練程設,把這題又翻出來想了想 不知道這樣寫可不可以 #include<iostream> #include<stdlib.h> #include<cctype> using namespace std; void print(char arrary[], int max) { for (int i=0;i<max;i++) { cout<<arrary[i]; } cout<<endl; } void pre(char old[] ,char buffer[], bool used[], int max, int count) { if(count==max) { print(buffer,max); } else { for(int i=0;i<max;i++) { if(used[i]==false) { if(old[i-1]==old[i] && used[i-1]==false) { }else { used[i]=true; buffer[count]=old[i]; pre(old,buffer,used,max,count+1); used[i]=false; } } } } } int compare(const void *a, const void *b) { return *(char *)a-*(char *)b; } int main() { int count=0; char temp; char arrary[1000]={0}; char buffer [1000]={0}; bool used[1000]={0}; while((temp=cin.get())!=10) { arrary[count++]=temp; } qsort(arrary,count,sizeof(char),compare); pre(arrary,buffer,used,count,0); system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.54.159

07/20 22:50, , 1F
愛莫能助....我會的比皮毛更少 Orz
07/20 22:50, 1F

07/20 23:02, , 2F
好像都是亂碼,看不懂........
07/20 23:02, 2F

07/23 18:44, , 3F
我沒用過C++.........
07/23 18:44, 3F

07/23 20:22, , 4F
那樓上高一的電腦課......???
07/23 20:22, 4F

07/23 21:20, , 5F
不是有AOC跟CS?
07/23 21:20, 5F

07/23 21:35, , 6F
可見樓樓上根本不知道什麼是電腦課
07/23 21:35, 6F

07/23 21:44, , 7F
推薦樓上推文
07/23 21:44, 7F

07/24 11:13, , 8F
推薦樓上推文
07/24 11:13, 8F

07/24 16:01, , 9F
在下失禮了......
07/24 16:01, 9F

07/30 16:55, , 10F
推aoc+cs
07/30 16:55, 10F
文章代碼(AID): #14loK66o (ck57th317)
討論串 (同標題文章)
本文引述了以下文章的的內容:
求救
0
4
完整討論串 (本文為第 4 之 4 篇):
求救
0
4
求救
1
2
求救
0
1
求救
8
10
文章代碼(AID): #14loK66o (ck57th317)