Cod sursa(job #2175171)

Utilizator Marina23Oprea Marina Marina23 Data 16 martie 2018 15:46:46
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;

short N,i,A[10],Poz,j,Aux;

int main()
{
    ifstream fin("permutari.in");
    ofstream fout("permutari.out");

    fin>>N;
    for(i=1;i<=N;++i) {A[i]=i; fout<<i<<' ';}
    fout<<'\n';
    while(1)
    {
        Poz=N;
        while(Poz>1 and A[Poz]<A[Poz-1]) --Poz;
        --Poz;
        if(Poz==0)
            break;
        for(i=N;i>=Poz+1;--i)
            if(A[i]>A[Poz])
                break;
        Aux=A[Poz]; A[Poz]=A[i]; A[i]=Aux;
        i=Poz+1; j=N;
        while(i<=j)
        {
            Aux=A[i]; A[i]=A[j]; A[j]=Aux;
            ++i; --j;
        }
        for(i=1;i<=N;++i)
            fout<<A[i]<<' ';
        fout<<'\n';
    }

    fin.close ();
    fout.close();
    return 0;
}