Cod sursa(job #1004195)

Utilizator andreey_047Andrei Maxim andreey_047 Data 2 octombrie 2013 11:46:37
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <fstream>
#include <algorithm>

using namespace std;
    int a[101];
int main()
{   int n,i,nr,aux,j,ok,k;
  ifstream fin("permutari.in");
  ofstream fout("permutari.out");
    fin >> n;
    fin.close();
        for(i = 1;i<=n;i++) a[i] = i;
    for(i = 1;i<=n;i++) fout << a[i]<<" ";

        fout <<"\n";
        ok = 0; i = n;
    while(ok <= n*2-1)
    {
        if (a[i] > a[i-1])
        {
            aux = a[i];
            a[i] = a[i-1];
            a[i-1] = aux;

        }
           else if (a[i] < a[i-1])
            {
                aux = a[i];
                a[i] = a[i-2];
                a[i-2] = aux;
                    sort(a  + i-1 ,a+n+1);
            }
        for(j = 1;j<=n;j++) fout << a[j]<<" ";
                    fout <<"\n";
            k = 0;
                     for(j = 1;j<=n && k == 0 ;j++)
                       if (a[j] > a[j+1]) k = 1;

        if (k == 0) i--;

        ok++;
    }

    fout.close();
    return 0;
}