Cod sursa(job #282762)

Utilizator dya_ndmNanuti Diana-Maria dya_ndm Data 18 martie 2009 10:42:05
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<stdio.h>

int n,gata,k,aux,st,dr,i,j,p[10];

int main()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);

scanf("%d",&n);

for(i=1;i<=n;++i)
   {
   p[i]=i;
   printf("%d ",i);
   }
printf("\n");

gata=1;

while(gata)
     {
     for(i=n-1;i>=1 && p[i]>p[i+1];--i);

     if(i==0)
       gata=0;
     else
       {
       for(j=i+1;j<=n && p[j]>p[i];++j);
       --j;
       aux=p[i];
       p[i]=p[j];
       p[j]=aux;
       st=i+1;
       dr=n;
       while(st<dr)
            {
            aux=p[st];
            p[st]=p[dr];
            p[dr]=aux;
            ++st;--dr;
            }
       for(k=1;k<=n;++k)
          printf("%d ",p[k]);
       printf("\n");
       }
     }
return 0;
}