Pagini recente » Cod sursa (job #2048075) | Cod sursa (job #1186847) | Cod sursa (job #2530477) | Cod sursa (job #807587) | Cod sursa (job #2200993)
#include <stdio.h>
int n;
char v[100];
int main()
{
int i,j,k,aux;
FILE *f,*g;
f=fopen("permutari.in","r");
g=fopen("permutari.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
v[i]=i;
while(1)
{
for(i=1;i<=n;i++)
fprintf(g,"%d ",v[i]);
fprintf(g,"\n");
k=n;
while(k>1 && v[k-1]>v[k])
k--;
if(k==1)
break;
for(j=n;v[j]<v[k-1];j--);
aux=v[k-1];v[k-1]=v[j];v[j]=aux;
for(j=0;j<=(n-k)/2;j++)
{
aux=v[k+j];v[k+j]=v[n-j];v[n-j]=aux;
}
}
fclose(f);
fclose(g);
}