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

2 Answers

0 votes
#include <iostream>
#include <vector>
 
int getBoundarySum(std::vector<std::vector<int>> matrix) {
    int rows = matrix.size();
    int cols = matrix[0].size();
    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() {
    std::vector<std::vector<int>> matrix {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
   
 
    // 1 + 2 + 3 + 4 + 8 + 12 + 11 + 10 + 9 + 5 + 65
 
    std::cout << getBoundarySum(matrix);
}
 
 
 
 
 
/*
run:
    
65
    
*/

 



answered Jun 17, 2023 by avibootz
0 votes
#include <iostream>

#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); 

    std::cout << getBoundarySum(matrix, rows, cols);
}





/*
run:
   
65
   
*/

 



answered Jun 17, 2023 by avibootz

Related questions

1 answer 71 views
1 answer 92 views
1 answer 111 views
1 answer 86 views
1 answer 60 views
...