Pagini recente » Cod sursa (job #1824590) | Cod sursa (job #3143092) | Cod sursa (job #1133319) | Cod sursa (job #577444) | Cod sursa (job #1779871)
#include <fstream>
using namespace std;
int m, r[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
void read();
bool next_permutation(int[], int, int);
void swap(int &, int &);
int main()
{
read();
ofstream fout ("permutari.out");
do{
for (int i = 1; i <= m; ++i)
fout << r[i] << " ";
fout << "\n";
}while(next_permutation(r, 1, m));
return 0;
}
void read(){
ifstream fin ("permutari.in");
fin >> m;
fin.close();
}
bool next_permutation(int v[], int p, int n){
int i, j;
for (i = n - 1; i >= p && v[i] > v[i+1]; --i);
if (i == p-1)
return false;
for (j = n; j >= p && v[j] < v[i]; --j);
swap(v[i], v[j]);
j = i + 1;
int k = n;
for (; k > j; --k, ++j)
swap(v[j], v[k]);
return true;
}
void swap(int &x, int &y){
int aux = x;
x = y;
y = aux;
}