Cod sursa(job #1954148)

Utilizator MarianConstantinMarian Constantin MarianConstantin Data 5 aprilie 2017 11:03:19
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream fin ("permutari.in");
    ofstream fout ("permutari.out");
    int n, a[10], i, i1, i2, k, j, aux, x;
    fin >> n;
    for (i=1; i<=n; i++)
        a[i]=i;
    while (i1)
    {
        for (i=1; i<=n; i++)
            fout << a[i] << " ";
        fout << "\n";
        i2=n;
        i1=n-1;
        while (a[i1]>a[i2] && i1)
        {
            i1--;
            i2--;
        }
        if (!i1)
            break;
        for (i=i2; i<=n; i++)
            if (a[i]<a[i1])
                break;
        k=i-1;
        aux=a[i1];
        a[i1]=a[k];
        a[k]=aux;
        for (i=i2, j=n; i<=(i2+n)/2; i++, j--)
            aux=a[i],a[i]=a[j],a[j]=aux;
    }
    return 0;
}