Cod sursa(job #2035571)

Utilizator Eduard24Eduard Scaueru Eduard24 Data 9 octombrie 2017 17:19:32
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>
#include <iostream>

using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int v[10],n,i;

int succesor(int v[], int n)
{
    int i,j,aux;
    for(i=n;i>=2;i--)
    {
        if(v[i-1]<v[i])
        {
            break;
        }
    }
    if(i==1) return 0;
    j=n;
    while(v[j]<=v[i-1])
    {
        j--;
    }
        aux=v[i-1];
        v[i-1]=v[j];
        v[j]=aux;
        j=n;
        while(i<j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
        return 1;
}
void afisare (int v[], int n)
{
    int i;
    for(i=1;i<=n;i++)
    {
        fout<<v[i]<<" ";
    }
    fout<<"\n";
}

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        v[i]=i;
    }
    do
    {
        afisare(v,n);
    }while(succesor(v,n));
    fin.close();
    fout.close();
    return 0;
}