Cod sursa(job #144716)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 27 februarie 2008 21:27:21
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#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;
}