Sum of upper triangle and lower triangle in C++

C++Server Side ProgrammingProgramming

In this problem, we are given a matrix. Our task is to create a program to print the sum of upper triangle and lower triangle.

Lower triangle

M00                     0             0       …        0
M10                     M11               0       …        0
M20                     M21               M22      …        0
…
Mrow0                   Mrow1             Mrow2      … Mrow col

Upper triangle

M00                     M01               M02          …       M0col
0                 M11               M12          …       M1col
0                 0             M22          …       M2col
…
0                 0             0         …     Mrow col

Let’s take an example to understand the problem,

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

A simple solution to this problem. We will use loop to traverse the array in the upper triangular elements and lower triangular elements. The calculate the sum in two separate variables, lSum and uSum.

Example

Program to illustrate the working of our solution,

 Live Demo

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

Output

Sum of the upper triangle is 18
Sum of the lower triangle is 29


raja
Published on 17-Aug-2020 09:49:49
Advertisements