Pagini recente » Cod sursa (job #519947) | Cod sursa (job #1388157) | Cod sursa (job #2348907) | Cod sursa (job #330614) | Cod sursa (job #2916780)
#include <iostream>
#include <fstream>
std::ifstream fin("permutari.in");
std::ofstream fout("permutari.out");
void print(int n, int x[]) {
for (int i = 1; i <= n; i++)
fout << x[i] << " ";
}
bool check_duplicates(int n, int x[], int start) {
for (int i = 1; i < start; i++)
{
if (x[i] == x[start])
return false;
}
return true;
}
bool check_length(int n, int i) {
return n == i;
}
void generate_permutation(int start, int n, int x[]) {
for (int i = 1; i <= n; i++)
{
x[start] = i;
if (check_duplicates(n, x, start))
if (check_length(n, start))
{
print(n, x);
}
else
{
generate_permutation(start + 1, n, x);
}
}
}
int main() {
int x[8] = { 0 };
int n_numbers;
fin >> n_numbers;
generate_permutation(1, n_numbers, x);
return 0;
}