Pagini recente » Cod sursa (job #1761994) | Cod sursa (job #1913396) | Cod sursa (job #1065820) | Cod sursa (job #1261887) | Cod sursa (job #1680424)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void print(int* v, int len, FILE* output){
int i;
for(i = 0; i < len; i++){
fprintf(output, "%d ", v[i]);
}
fprintf(output, "\n");
}
void perm(int* v, int start, int end, int len, FILE* output){
int i;
int j;
if(start == end){
print(v, len, output);
}
else{
for(i = start; i <= end; i++){
swap(v + start, v + i);
perm(v, start+1, end, len, output);
swap(v + start, v + i);
}
}
}
int main()
{
FILE* input = fopen("permutari.in", "r");
FILE * output = fopen("permutari.out", "w");
int n;
fscanf(input, "%d", &n);
int i;
int vec[n];
for(i = 1; i <= n; i++){
vec[i-1] = i;
}
perm(vec, 0, n-1, n, output);
fclose(input);
fclose(output);
return 0;
}