Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลรวมของสามเหลี่ยมบนและสามเหลี่ยมล่างใน C++


ในปัญหานี้ เราได้รับเมทริกซ์ งานของเราคือสร้างโปรแกรมเพื่อพิมพ์ผลรวมของสามเหลี่ยมบนและสามเหลี่ยมล่าง

สามเหลี่ยมล่าง

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