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("
"); }

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("
Enter the order of the matrix : ");    scanf("%d %d",&m,&n);    int i, j;    int mat[m][n];    printf("
Input the matrix elements
");    for(i = 0; i<m; i++){       for(j = 0; j<n; j++)       scanf("%d",&mat[i][j]);    }    printf("
Boundary Matrix
");    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("
");    }    printf("
Sum 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

Advertisements