Computer >> Computer tutorials >  >> Programming >> C programming

C Program to print the sum of boundary elements of a matrix


Given a matrix, we need to print the boundary elements of the matrix and display their sum.

Example

Refer the matrix given below −

Given matrix

1 2 3
4 5 6
7 8 9

Boundary Matrix

1 2 3
4   6
7 8 9

Sum of boundary elements: 1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 = 40

The logic to find the sum of boundary matrix is as follows −

for(i = 0; i<m; i++){
   for(j = 0; j<n; j++){
      if (i == 0 || j == 0 || i == n – 1 || j == n – 1){
         printf("%d ", mat[i][j]);
         sum = sum + mat[i][j];
      }
      else
         printf(" ");
      }
      printf("\n");
}

Program

Following is the C program to print the sum of boundary elements of a matrix

#include<stdio.h>
#include<limits.h>
int main(){
   int m, n, sum = 0;
   printf("\nEnter the order of the matrix : ");
   scanf("%d %d",&m,&n);
   int i, j;
   int mat[m][n];
   printf("\nInput the matrix elements\n");
   for(i = 0; i<m; i++){
      for(j = 0; j<n; j++)
      scanf("%d",&mat[i][j]);
   }
   printf("\nBoundary Matrix\n");
   for(i = 0; i<m; i++){
      for(j = 0; j<n; j++){
         if (i == 0 || j == 0 || i == n – 1 || j == n – 1){
            printf("%d ", mat[i][j]);
            sum = sum + mat[i][j];
         }
         else
         printf(" ");
      }
      printf("\n");
   }
   printf("\nSum of boundary is %d", sum);
}

Output

When the above program is executed, it produces the following result −

Enter the order of the matrix : 3 3
Input the matrix elements :
1 2 3
4 5 6
7 8 9
Boundary Matrix :
1 2 3
4 6
7 8 9
Sum of boundary is 40