Cod sursa(job #2256502)

Utilizator daru06Daria Culac daru06 Data 8 octombrie 2018 18:51:08
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

int a[10], i, is, id, n;
ifstream fi("permutari.in");
ofstream fo("permutari.out");

void afisare () {
  int i;
  for (i = 1; i <= n; i++)
    fo << a[i] << ' ';
  fo << '\n';
}

int main () {
  fi >> n;
  for (i = 1; i <= n; i++)
    a[i] = i;
  afisare();
  while (1 <= i) {
    for (i = n - 1; a[i] > a[i + 1]; i--);
    if (1 <= i) {
      for (id = n; a[id] < a[i]; id--);
      swap (a[i], a[id]);
      for (is = i + 1, id = n; is < id; is++, id--)
        swap (a[is], a[id]);
      afisare ();
    }
  }
  fi.close();
  fo.close();
}

/*
12345678
12345687
...
  i
53287641
53487621
53412678

53412678

87654321
*/