Pagini recente » Cod sursa (job #1908570) | Cod sursa (job #2888807) | Cod sursa (job #42338) | Cod sursa (job #1397726) | Cod sursa (job #1442957)
#include <stdio.h>
#define N 8
void swap(int* a, int i, int j)
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
void printPermutation(int* a, int size, FILE* fout)
{
for(int i = 0; i < size; i++)
{
fprintf(fout, "%d ", a[i]);
}
fprintf(fout, "\n");
}
void permute(int* a, int size, int start, FILE* fout)
{
if(start == size)
{
printPermutation(a, size, fout);
return;
}
for(int i = start; i < size; i++)
{
swap(a, i, start);
permute(a, size, start + 1, fout);
swap(a, i, start);
}
}
int main()
{
FILE* fin = fopen("permutari.in", "r");
FILE* fout = fopen("permutari.out", "w");
int n;
int v[N];
fscanf(fin, "%d", &n);
for(int i = 0; i < n; i++)
{
v[i] = i + 1;
}
permute(v, n, 0, fout);
fclose(fin);
fclose(fout);
return 0;
}