Here's a C program to generate permutations of a string with output. This program makes use of C concepts like Array, For loop, IF-Else Condition, Recursion and String Functions like string copy (strcpy()) and string length (strlen()) functions etc.
# include <stdio.h> # include <conio.h>
# include <string.h>
void main()
{
int n, i, k = 0 ;
char a[10] ;
void perm(char a[10], int k, int n) ;
clrscr() ;
printf("Enter the string : ") ;
scanf("%s", a) ;
printf("\nThe permutation is :\n") ;
n = strlen(a) ;
perm(a, k, n) ;
getch() ;
}
void perm(char a[10], int k, int n)
{
char t, d[10] ;
int i ;
if(k == n)
{
printf("\n%s", a) ;
return ;
}
else
{
for(i = k ; i < n ; i++)
{
t = a[i] ;
a[i] = a[k] ;
a[k] = t ;
strcpy(d, a) ;
perm(d, k + 1, n) ;
}
}
}
Output of above program
Enter the string : abc
The permutation is :
abc
acb
bac
bca
cab
cba


so long...try this
#include
#include
#include
#include
main()
{
char ch[10],temp;
int i,k=1,b,f;
clrscr();
printf("enter the string");
gets(ch);
for(i=1;i<=strlen(ch);i++)
{
k=k*i;
}
f=strlen(ch);
for(i=0;i<k;i++)
{
b=i%(f-1);
temp = ch[b+1];
ch[b+1]=ch[b];
ch[b]=temp;
printf("%s\n",ch);
}
getch();
}
Thanks Chirag!! We really appreciate your participation.
chirag Agarwal's process is totally wrong.eg-when enter 1234!!! 1234 appears two times.
Hi There,
This is indeed great! But I think perhaps you are generally referring Program to Generate Permutation of String in C | C Program which is getting unsustainable.
I am given an assignment to write code on interpolation search binary search(searching an integer in an ordered list). but I don't have a clear idea about about both of them as I missed the theory class. so can anyone suggest me from where I can get satisfying information about them?
I am so grateful for your blog. Really looking forward to read more.
Kind Regards,
Tina