1

以下のコードは、指定された文字列の可能なすべての組み合わせを出力します。文字列を再帰的に生成します。ここで、各文字列へのポインターの配列を使用して、各組み合わせを配列に格納したいと考えています。文字列を指すようにポインタを初期化するにはどうすればよいですか。コードは次のとおりです:-

Input ABC
Output 

ABC in b[0]
ACB in b[1]
BAC 
BCA
CAB 
CBA 

等々 。

ありがとう :)

void permute(char *a, int i, int n) 
{
  int k=0;
  char *b[100];
   int j;
   if (i == n)
     {
      // *b[k]=a;
     printf("%s\n", a);
      i++;
     }
   else
   {
        for (j = i; j <= n; j++)
       {
          swap((a+i), (a+j));
          permute(a, i+1, n);
          swap((a+i), (a+j)); //backtrack
       }
   }
} 
4

2 に答える 2