c·c++/c++ 프로그래밍

문자열 경우의 수 c++버전

바로이순간 2011. 12. 28. 21:44

#include <iostream> 

using namespace std;


void enumTwo(char s[], char cl[], int ns, int nc, int nn, int k) {

if(k==0) {

cout<<s<<endl;

return;

}

for(int i=nc;i<nn-k+1;++i) {

        s[ns]=cl[i];

s[ns+1]=0;

enumTwo(s,cl,ns+1,i+1,nn,k-1);

}

}


void enumOne(char s[], char cl[], int ns, int nc, int nn) {

cout<<s<<endl;

for(int i=1;i<nn+1;++i) {

enumTwo(s,cl,ns,nc,nn,i);

}

}


int main() {

  char str[10];

  char next[]="ABCDE";

 

for(int i=0;i<5;++i) {

        str[0]=next[i];

str[1]=0;

enumOne(str,next,1,i+1,5);

}

  return 0;

}