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