Cho ma trận vuông kích thước N x N. Nhiệm vụ tính tổng các phần tử thuộc tam giác trên (kể cả đường chéo chính) và tam giác dưới (kể cả đường chéo chính).
Định nghĩa
- Tam giác trên: Các phần tử
mat[i][j]vớii ≤ j. - Tam giác dưới: Các phần tử
mat[i][j]vớii ≥ j.
Lưu ý: Đường chéo chính thuộc cả hai tam giác.
Ví dụ minh họa
Input: {{5, 1, 6}, {8, 2, 0}, {3, 7, 4}}
Output:
Tổng tam giác trên = 18 (5+1+6+2+0+4)
Tổng tam giác dưới = 29 (5+8+2+3+7+4)
Thuật toán
Duyệt qua tất cả phần tử mat[i][j]:
- Nếu
i <= j→ cộng vàoupperSum - Nếu
i >= j→ cộng vàolowerSum
Chương trình C++
#include <iostream>
using namespace std;
void sumTriangles(int mat[3][3], int n) {
int upperSum = 0, lowerSum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i <= j) upperSum += mat[i][j];
if (i >= j) lowerSum += mat[i][j];
}
}
cout << "Tong tam giac tren: " << upperSum << endl;
cout << "Tong tam giac duoi: " << lowerSum << endl;
}
int main() {
int mat[3][3] = {{5, 1, 6}, {8, 2, 0}, {3, 7, 4}};
sumTriangles(mat, 3);
return 0;
}
Kết quả
Tong tam giac tren: 18 Tong tam giac duoi: 29