Cod sursa(job #2200993)

Utilizator daniel.vbVasile Daniel daniel.vb Data 3 mai 2018 08:27:36
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>




int n;
char v[100];




int main()
{
    int i,j,k,aux;
    FILE *f,*g;

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

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

    for(i=1;i<=n;i++)
        v[i]=i;


    while(1)
    {
        for(i=1;i<=n;i++)
            fprintf(g,"%d ",v[i]);
        fprintf(g,"\n");
        k=n;
        while(k>1 && v[k-1]>v[k])
            k--;
        if(k==1)
            break;
        for(j=n;v[j]<v[k-1];j--);
        aux=v[k-1];v[k-1]=v[j];v[j]=aux;
        for(j=0;j<=(n-k)/2;j++)
        {
            aux=v[k+j];v[k+j]=v[n-j];v[n-j]=aux;
        }
    }



    fclose(f);
    fclose(g);
}