Ошибка сегментации из-за рекурсии
m пишу программу, которая должна принимать число от 1 до 10 и отображать все возможные способы упорядочения чисел.
Ex вход: 3 выхода:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Всякий раз, когда я ввожу 9 или 10, программа выдает ошибку сегментации и сбрасывает ядро. Я считаю, что проблема в том, что мой рекурсивный алгоритм вызывается слишком много раз. Может ли кто-нибудь помочь указать, как я могу ограничить количество необходимых рекурсивных вызовов? Вот мой текущий код:
void rearange(int numbers[11], int index, int num, int fact) {
int temp = numbers[index];
numbers[index] = numbers[index-1];
numbers[index-1] = temp;
int i;
for (i = 1; i