Я пытался перевернуть двойной массив с помощью рекурсивной функции без использования циклов в рекурсивной части кода.
Я написал код для целых чисел, и он работает для всех Однако я не мог обратить элементы массива в двойные
Есть ли кто-нибудь, кто хотел бы прокомментировать это, по крайней мере, чтобы дать представление?
Спасибо
#include <stdio.h>
#include <stdlib.h>
void ArrayReverse(int x[], int N)
{
if (N <= 1)
{
return;
}
else
{
int temp;
int j = 0;
temp = x[j];
x[j] = x[N-1];
x[N-1] = temp;
ArrayReverse(&x[1],N-2);
}
}
int main(int argc, char *argv[]) {
int num_of_el;
int i;
printf("enter the number of elements of the array: \n");
scanf("%d", &num_of_el);
int arr[num_of_el];
int element;
int k,l;
printf("enter the elements one by one: \n");
for(i=0;i <= num_of_el - 1; i++)
{
scanf("%d", &element);
arr[i] = element;
}
for(l=0;l <= num_of_el - 1; l++)
{
printf("%d", arr[l]);
}
printf("\n");
ArrayReverse(arr,num_of_el);
for(k=0;k <= num_of_el - 1; k++)
{
printf("%d", arr[k]);
}
return 0;
}