Pagini recente » Cod sursa (job #2480824) | Cod sursa (job #1724168) | Cod sursa (job #2610562) | Cod sursa (job #1934099) | Cod sursa (job #374349)
Cod sursa(job #374349)
#include<cstdio>
using namespace std;
int n,i,j,poz,min,k,aux,v[20];
int main ()
{
freopen("permutari.in" , "r" , stdin );
freopen("permutari.out", "w" , stdout);
scanf("%d" , &n);
for(i=1;i<=n;i++)
v[i]=i;
for(i=1;i<n;i++)
printf("%d ", v[i]);
printf("%d\n" , v[n] );
do
{
poz=n;
while(v[poz]<v[poz-1]&&poz>=1)
poz--;
poz--;
if(poz)
{
min=v[poz+1];
j=poz+1;
for(i=poz+1 ; i<=n ; i++)
if(min>v[i]&&v[i]>v[poz])
min=v[i],j=i;
aux=v[poz],v[poz]=v[j],v[j]=aux;
for(i=1;i<=(n-poz)/2;i++)
aux=v[poz+i],v[poz+i]=v[n-i+1],v[n-i+1]=aux;
for(i=1;i<n;i++)
printf("%d " , v[i]);
printf("%d\n" , v[n]);
}
}
while(poz);
return 0;
}