This solution is incorrect.you are only considering ordered permutations of all the rotations of the list ignoring random permutations. for eg in abcd you are missing random permutation like acbd. here we need implementation of next_permutation() function of c++. this <http://wordaligned.org/articles/next-permutation> might be helpful. Happy coding
On Apr 9, 12:13 am, Manish Pathak <pathak....@gmail.com> wrote: > #include <stdio.h> > #include <string.h> > #include <stdlib.h> > int fact(int n); > void main() > { > char a[20],st_char; > static int i,j,k,n,ctr,main_ctr; > printf("Enter the string : "); > //gets(a); > scanf("%s",a); > > n=strlen(a); > > if(n<=1) > { > printf("please enter a valid string "); > exit(0); > > } > > //label : > while(main_ctr<n) //loop till length > { > for(i=0;i<=n-2;++i) //loop to print first character of string ex abc,acb > { > ctr=0; > printf("\n"); > printf("%c",a[0]); > for(j=i+1;j<=n-1;j++) //take > { > printf("%c",a[j]); > ctr++; > } > > if(ctr!=n-1) > { > for(k=1;k<=i;k++)// print characters that left in above loop ex > from above i=2 print a[0], then j=3 print a[3], means to print a[1] and a[2] > > { > printf("%c",a[k]); > ctr++; > } > } > > } > > st_char=a[0]; //ex for abc string this change as a[0]=b; > for(i=0;i<=n-2;i++) //a[1]=c; > a[i]=a[i+1]; //a[2]=a; > > a[n-1]=st_char; > > main_ctr++;} > > printf("\n>>>>>Designed by Manish Pathak<<<<<<<< "); > > > > > > > > } -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.