Pagini recente » Cod sursa (job #2710046) | Cod sursa (job #278777) | Cod sursa (job #2558862) | Cod sursa (job #2818683) | Cod sursa (job #1516130)
#include <iostream>
#include <fstream>
using namespace std;
int n, a[10], i, e1, e2,j,c;
int main()
{
ifstream f ("permutari.in");
ofstream g ("permutari.out");
f >> n;
for(i = 1; i <= n; i++) {
a[i] = i;
g << a[i]<<" ";
}
g<<'\n';
while (i >= 2) {
for(i = n; a[i - 1] > a[i]; i--);
if(i >= 2) {
for(j = n; a[j] < a[i - 1]; j--); // ! i
swap(a[i - 1], a[j]); // ! i
for(e1 = i, e2 = n; e1 < e2; e1++, e2--) // ! >
swap(a[e1], a[e2]);
for(c = 1; c <= n; c++)g << a[c] << " ";
g<<'\n';
}
}
f.close ();
g.close ();
return 0;
}
/*
53287641
i j
53487621
53412678
53412687
87654321
1024 = 2^10
log(2) 1024 = 10
*/