duminică, 4 noiembrie 2012

Să se determine anagramele distincte ale unui cuvânt dat.


#include<iostream.h>
int v[100],i,k,n;
char a[100];
void afisare ()
{for(i=1; i<=n; i++)
cout<<a[v[i]-1]<<' ';
cout<<endl;
}
int cont (int k)
{for(i=1; i<=k-1; i++)
if(v[i]==v[k])
return 0;
return 1;}
void back(int k)
{int i;
for(i=1; i<=n; i++)
{v[k]=i;
if(cont(k))
if(k==n)
afisare ();
else
back(1+k);}}
int main ()
{cin>>a;
n=strlen(a);
back(1);
}

Niciun comentariu:

Trimiteți un comentariu