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