Pagini recente » Cod sursa (job #1428068) | Cod sursa (job #443645) | Cod sursa (job #1930881) | Cod sursa (job #576766) | Cod sursa (job #1607545)
#include <stdio.h>
short n,v[9];
int main(){
FILE*f=fopen("permutari.in","r");
fscanf(f,"%hd",&n);
fclose(f);
FILE*g=fopen("permutari.out","w");
for(short i=0;i<n;i++){
v[i]=i+1;
fprintf(g,"%hd ",v[i]);
}
fprintf(g,"\n");
short fact=1;
for(short i=2;i<=n;i++)
fact*=i;
while(--fact){
short I=0,J=0;
for(short i=n-1;i>0;i--)
if(v[i]>v[i-1]){
I=i-1;
break;
}
for(short j=n-1;j>I;j--)
if(v[I]<v[j]){
J=j;
break;
}
short man=v[J];
v[J]=v[I];
v[I]=man;
I++; J=n-1;
while(I<J){
man=v[J];
v[J]=v[I];
v[I]=man;
J--;
I++;
}
for(short i=0;i<n;i++)
fprintf(g,"%hd ",v[i]);
fprintf(g,"\n");
}
fclose(g);
return 0;
}