Pagini recente » Cod sursa (job #1112928) | Cod sursa (job #3304183) | Cod sursa (job #287642) | Cod sursa (job #2553518) | Cod sursa (job #1010672)
#include <stdio.h>
#include <stdlib.h>
//----------------------------------------------
void afisare(int * v[], int iN, FILE*fout)
{
int i;
for (i=0; i<iN; i++)
fprintf(fout,"%d ",v[i]);
fprintf(fout,"\n");
}
//----------------------------------------------
void back(int *v[], int *vVisited[], int ik, int iN, FILE * fout)
{
if (ik==iN)
{
afisare(v,iN,fout);
} else
{
int i;
for (i=1; i<=iN; i++)
if (vVisited[i]==0)
{
v[ik]=i;
vVisited[i]=1;
back(v,vVisited,ik+1,iN,fout);
vVisited[i]=0;
}
}
}
//----------------------------------------------
void citire(int *iN)
{
FILE * fin = fopen("permutari.in","r");
fscanf(fin,"%d",iN);
fclose(fin);
}
//----------------------------------------------
int main()
{
int iN;
int vVector[8],vVisited[9];
citire(&iN);
int i;
for (i=0; i<9; i++)
vVisited[i]=0;
FILE * fout = fopen("permutari.out","w");
back(&vVector,&vVisited,0,iN,fout);
fclose(fout);
return 0;
}