Cod sursa(job #2652205)

Utilizator proflaurianPanaete Adrian proflaurian Data 24 septembrie 2020 16:05:49
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");

int n,x[10];

bool Urmatoarea()
{
    int i,j;
    for(i=n; i>=1; i--)
        if(x[i]>x[i-1])
            break;
    if(i==1)
        return false;
    for(j=n; j>=i; j--)
        if(x[j]>x[i-1])
            break;
    swap(x[i-1],x[j]);
    for(j=n; i<j; i++,j--)
        swap(x[i],x[j]);
    return true;
}

void afiseaza()
{
    for(int i=1; i<=n; i++)
        g<<x[i]<<' ';
    g<<'\n';
}

int main()
{
    f>>n;
    for(int i=1; i<=n; i++)
        x[i]=i;
    do
    {
        afiseaza();
    }
    while(Urmatoarea());
    return 0;
}