#include <stdio.h>
void diziyi_yazdir(int dizi[], int uzunluk) {
for (int i = 0; i < uzunluk; i++) {
printf("%d ", dizi[i]);
}
printf("\n");
}
void permutasyon_yazdir(int dizi[], int uzunluk, int index) {
if (index == uzunluk) {
diziyi_yazdir(dizi, uzunluk);
return;
}
for (int i = index; i < uzunluk; i++) {
// swap
int temp = dizi[index];
dizi[index] = dizi[i];
dizi[i] = temp;
// recurse
permutasyon_yazdir(dizi, uzunluk, index + 1);
// backtrack (restore)
temp = dizi[index];
dizi[index] = dizi[i];
dizi[i] = temp;
}
}
int main() {
int dizi[4] = {1, 2, 3, 4};
permutasyon_yazdir(dizi, 4, 0);
return 0;
}
this is the corrected code