Cod sursa(job #163710)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 22 martie 2008 17:00:58
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <conio.h>

void afisare();
void back (int k);

int verific (int k);

FILE* f;
FILE* s;

int n;
int sir[10];

int main()
{
	clrscr();

	f=fopen ("permutari.in","r");
	s=fopen ("permutari.out","w");

	fscanf (f,"%d",&n);

	back(1);

	fcloseall();

	return 0;
}

void back (int k)
{
	for (int i=1;i<=n;i++)
	{
		sir[k]=i;

		if (verific(k)==1)
		{
			if (k==n)
				afisare();
			else
				back (k+1);
		}


	}


}

int verific (int k)
{
	for (int i=1;i<k;i++)
	{
		if (sir[i]==sir[k])
		{
			return 0;
		}
   }

   return 1;

}

void afisare()
{
	for (int i=1;i<=n;i++)
		fprintf (s,"%d ",sir[i]);

	fprintf (s,"\n");
}