How to find the sum of boundary elements of a matrix in C

1 Answer

0 votes
#include <stdio.h>     

#define COLS 4

int getBoundarySum(int matrix[][COLS], int rows, int cols) {
	int sum = 0;

	for (int i = 0; i < rows; i++) {
		for (int j = 0; j < cols; j++) {
			if (i == 0 || j == 0 || i == rows - 1 || j == cols - 1) {
				sum += matrix[i][j];
			}
		}
	}

	return sum;
}

int main() {
	int matrix[][COLS] = { {1, 2, 3, 4},
						   {5, 6, 7, 8},
						   {9, 10, 11, 12} };

	// 1 + 2 + 3 + 4 + 8 + 12 + 11 + 10 + 9 + 5 + 65

	int rows = sizeof matrix / sizeof matrix[0];
	int cols = sizeof matrix[0] / sizeof(int);

	printf("%d", getBoundarySum(matrix, rows, cols));

	return 0;
}





/*
run:

65

*/

 



answered Jun 17, 2023 by avibootz

Related questions

2 answers 139 views
1 answer 148 views
1 answer 183 views
1 answer 124 views
1 answer 107 views
...