Sooth Administrator


Data inscrierii: 26/Dec/2006 Mesaje: 19 Localitate: Pitesti
|
Trimis: 15/01/2007 08:03 Titlul subiectului: Aranjamente |
|
|
| Citat: | #include<iostream.h>
#include<conio.h>
int i,p,k,n,v[100];
void afisare(int i)
{
if(i<=p)
{
cout<<v[i]<<" ";
afisare(i+1);
}
else cout<<endl;
}
void aranjare(int k)
{
int i,max,j,aux;
if(k>p)afisare(1);
else if(k==1)
for(i=1;i<=n;i++)
{
v[1]=i;
aranjare(k+1);
}
else
{
max=v[1];
for(i=2;i<k;i++)
if(v[i]>max)
max=v[i];
for(i=max+1;i<=n;i++)
{
v[k]=i;
for(j=1;j<=k;j++)
{
aux=v[j];v[j]=v[k];v[k]=aux;
aranjare(k+1);
aux=v[j];v[j]=v[k];v[k]=aux;
}
}
}
}
void main()
{
cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
aranjare(1);
getche();
} |
|
|