Cod sursa(job #1119032)

Utilizator firutibogdanFiruti Bogdan-Cristian firutibogdan Data 24 februarie 2014 14:39:56
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 kb
#include<fstream>
using namespace std;
int n,a[10],i,j,aux,ok;
int main()
{
    fstream fin,fout;
    fin.open("permutari.in",ios::in);
    fout.open("permutari.out",ios::out);
    fin>>n;
    for(i=1;i<=n;i++)
    {
        a[i]=i;
        fout<<a[i]<<" ";
    }
    fout<<"\n";
    do
    {
        ok=0;
        for(i=n;i>=2;i--)
        {
            if(a[i-1]<a[i])
            {
                break;
            }
        }
        if(i==1)
        {
            ok=1;
        }
        else
        {
            j=n;
            while(a[j]<=a[i-1])
            {
                j--;
            }
            aux=a[i-1];
            a[i-1]=a[j];
            a[j]=aux;

            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";
        }
    }
    while(ok==0);
    fout.close();
    fin.close();
    return 0;
}