שפה C,פונקסיה רקורסיבית
Question:

כתוב תוכנת שמקבלת מערך דו מימדי בגודל 5X5 מהמשתמש,המערך נשלח לפונקסיה רקורסיבית שמסכמת את סכום האלכסון ומדפסה אותו ב-main.. 

0 People tried to answer this question


Comments:
1.  Gelman Yossi (24.11.2016 am 10.24.28)
פתרון


#include<stdio.h>
#include<conio.h>

#define N 5

int func(int arr[N][N],int size)
{
  int sum;
 if(size<1)
  return 0;
 sum=func(arr,size-1);
  return sum+=arr[size-1][size-1];

}

int main()
{
 int arr[N][N],i,j;
 int sum;
 printf("enter %d numbers: ",N*N);
 for(i=0;i<N;i++)
 {
  printf("enter row number %d: ",i+1);
  for(j=0;j<N;j++)
   scanf("%d",&arr[i][j]);
 }
 printf(" ");
 printf("the sum is = %d",func(arr,N));
 _getch();
 return 0;
}
  

2.  moyal mor (24.11.2016 am 11.38.27)
פתרון

#define N 5

int SumDiag(int arr[][N], int size)

{

       if (size < 1)

              return 0;

       return arr[size-1][size-1] + SumDiag(arr,size-1);

}

void main()

{

       int arr[N][N];

       int i, j,sum;

       printf("Enter numbers:");

       for (i = 0; i < N; i++)

              for (j = 0; j < N; j++)

                     scanf("%d", &arr[i][j]);

       sum = SumDiag(arr,N);

       printf("Sum of diagonal is - %d",sum);

}

3.  Abed El Al Mosa (25.11.2016 pm 07.06.02)
פתרון

#include<stdio.h>
#include<conio.h>

#define N 5

int func(int arr[][N],int cnt)
{
       if (cnt < 1)
              return 0;
       return arr[cnt-1]cnt-1] + func(arr,cnt-1);
}
void main()
{
       int arr[N][N];
       int i, j,sum;
       printf("Give Me 25 Numbers:");
       for (i = 0; i < N; i++)
              for (j = 0; j < N; j++)
                     scanf("%d", &arr[i][j]);
       sum = func(arr,N);
       printf("Sum = %d",sum);
} 



History of edits
More Interactive Questions that might interest you In Computer