ในปัญหานี้ เราได้รับเมทริกซ์ งานของเราคือสร้างโปรแกรมเพื่อพิมพ์ผลรวมของสามเหลี่ยมบนและสามเหลี่ยมล่าง
สามเหลี่ยมล่าง
M00 0 0 … 0 M10 M11 0 … 0 M20 M21 M22 … 0 … Mrow0 Mrow1 Mrow2 … Mrow col
สามเหลี่ยมบน
M00 M01 M02 … M0col 0 M11 M12 … M1col 0 0 M22 … M2col … 0 0 0 … Mrow col
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
Input: {{5, 1, 6}
{8, 2, 0}
{3, 7, 4}}
Output: upper triangle sum = 18
lower triangle sum = 29
Explanation:
Sum of upper triangle sum = 5 + 1 + 6 + 2 + 0 + 4 = 18
Sum of lower triangle sum = 5 + 8 + 2 + 3 + 7 + 4 = 29 วิธีแก้ปัญหาง่ายๆ สำหรับปัญหานี้ เราจะใช้การวนซ้ำเพื่อสำรวจอาร์เรย์ในองค์ประกอบสามเหลี่ยมบนและองค์ประกอบสามเหลี่ยมล่าง การคำนวณผลรวมในสองตัวแปรแยกกัน lSum และ uSum
ตัวอย่าง
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
#include <iostream>
using namespace std;
int row = 3;
int col = 3;
void sum(int mat[3][3]) {
int i, j;
int uSum = 0;
int lSum = 0;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++) {
if (i <= j) {
uSum += mat[i][j];
}
}
cout<<"Sum of the upper triangle is "<<uSum<<endl;
for (i = 0; i < row; i++)
for (j = 0; j < col; j++) {
if (j <= i) {
lSum += mat[i][j];
}
}
cout<<"Sum of the lower triangle is "<<lSum<<endl;
}
int main() {
int mat[3][3] = { { 5, 1, 6 },
{ 8, 2, 0 },
{ 3, 7, 4 }};
sum(mat);
return 0;
} ผลลัพธ์
Sum of the upper triangle is 18 Sum of the lower triangle is 29