Pagini recente » Cod sursa (job #358855) | Cod sursa (job #1491338) | Cod sursa (job #1055272) | Cod sursa (job #2823763) | Cod sursa (job #144716)
Cod sursa(job #144716)
#include<stdio.h>
char c[10],caux;
long int n,i,paux,st,dr;
int main()
{
FILE *f,*g;
f=fopen("permutari.in","r");g=fopen("permutari.out","w");
fscanf(f,"%ld",&n);c[0]='0';
for(i=1;i<=n;i++)c[i]=c[i-1]+1;
i=1;
for(;;)
{ for(i=1;i<n;i++)fprintf(g,"%c ",c[i]);
fprintf(g,"%c\n",c[n]);
for(i=n;i>=1;i--)
if(c[i]>c[i-1])break;
if(i==1)break;
caux=c[i-1];paux=i-1;
for(i=n;i>=1;i--)
if(c[i]>caux){c[paux]=c[i];c[i]=caux;break;}
st=paux+1;dr=n;
while(st<dr)
{ caux=c[st];c[st]=c[dr];c[dr]=caux;st++;dr--;}
}
fprintf(g,"\n");
fcloseall();
return 0;
}