Ошибка сегментации из-за рекурсии

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 

Ответы на вопрос(5)

Ваш ответ на вопрос