Cod sursa(job #1010672)

Utilizator nod_softwareBudisteanu Ionut Alexandru nod_software Data 15 octombrie 2013 13:31:56
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 1.13 kb
#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;
}