обращение двойного массива с рекурсивной функцией в c без l oop в рекурсивной части кода - PullRequest
0 голосов
/ 30 мая 2020

Я пытался перевернуть двойной массив с помощью рекурсивной функции без использования циклов в рекурсивной части кода.

Я написал код для целых чисел, и он работает для всех Однако я не мог обратить элементы массива в двойные

Есть ли кто-нибудь, кто хотел бы прокомментировать это, по крайней мере, чтобы дать представление?

Спасибо

  
#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;              
}


...