Cod sursa(job #2035547)

Utilizator Eduard24Eduard Scaueru Eduard24 Data 9 octombrie 2017 16:59:30
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstrean>
#include <iostream>

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

int succesor(int v[10], 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[10], int n)
{
    int i;
    for(i=1;i<=n;i++)
    {
        fout<<v[i]<<" ";
    }
    fout<<"\n";
}

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