Skip to content
Related Articles

Related Articles

Sum of upper triangle and lower triangle
  • Difficulty Level : Easy
  • Last Updated : 02 Dec, 2019

Given a matrix print the sum of upper and lower triangular elements (i.e elements on diagonal and the upper and lower elements).

Examples :

Input : {6, 5, 4}
        {1, 2, 5}
        {7, 9, 7}
Output :
Upper sum is 29
Lower sum is 32

The solution is quite simple, we just need to traverse the matrix and calculate the sum for upper and lower triangles accordingly.

C++




// C++ program to calculate the sum 
// of upper and lower triangle
#include <bits/stdc++.h>
using namespace std;
  
/*function to calculate sum*/
void sum(int mat[3][3], int r, int c)
{
    int i, j;
    int upper_sum = 0;
    int lower_sum = 0;
      
    /*to calculate sum of upper triangle*/
    for (i = 0; i < r; i++)
        for (j = 0; j < c; j++) {
            if (i <= j) {
                upper_sum += mat[i][j];
            }
        }
  
    printf("Upper sum is %d\n", upper_sum);
      
    /*to calculate sum of lower*/
    for (i = 0; i < r; i++)
        for (j = 0; j < c; j++) {
            if (j <= i) {
                lower_sum += mat[i][j];
            }
        }
  
    printf("Lower sum is %d", lower_sum);
}
  
/*driver function*/
int main()
{
    int r = 3;
    int c = 3;
  
    /*giving the matrix*/
    int mat[3][3] = {{ 6, 5, 4 },
                     { 1, 2, 5 },
                     { 7, 9, 7 }};
                       
    /*calling the function*/
    sum(mat, r, c);
    return 0;
}


Java




// Java program to calculate the sum 
// of upper and lower triangle
  
class GFG
{
    /*function to calculate sum*/
    static void sum(int mat[][], int r, int c)
    {
        int i, j;
        int upper_sum = 0;
        int lower_sum = 0;
          
        /*calculate sum of upper triangle*/
        for (i = 0; i < r; i++)
            for (j = 0; j < c; j++) 
            {
                if (i <= j) 
                {
                    upper_sum += mat[i][j];
                }
            }
      
        System.out.println("Upper sum is " + upper_sum);
          
        /*calculate sum of lower*/
        for (i = 0; i < r; i++)
            for (j = 0; j < c; j++) 
            {
                if (j <= i) 
                {
                    lower_sum += mat[i][j];
                }
            }
      
        System.out.print("Lower sum is " + lower_sum);
    
          
    // Driver code
    public static void main (String[] args)
    {
        int r = 3;
        int c = 3;
      
        /*giving the matrix*/
        int mat[][] = {{ 6, 5, 4 },
                        { 1, 2, 5 },
                        { 7, 9, 7 }};
                          
        /*calling the function*/
        sum(mat, r, c);
    }
}
  
// This code is contributed by Anant Agarwal.


Python3




# Python3 program to calculate the sum 
# of upper and lower triangle
  
# function to calculate sum
def Sum(mat, r, c):
  
    i, j = 0, 0;
    upper_sum = 0;
    lower_sum = 0;
      
    # to calculate sum of upper triangle
    for i in range(r):
        for j in range(c):
            if (i <= j):
                upper_sum += mat[i][j];
  
    print("Upper sum is ", upper_sum);
      
    # to calculate sum of lower
    for i in range(r):
        for j in range(c):
            if (j <= i):
                lower_sum += mat[i][j];
  
    print("Lower sum is ", lower_sum);
  
# Driver Code
r = 3;
c = 3;
  
# giving the matrix
mat = [[ 6, 5, 4 ],
       [ 1, 2, 5 ],
       [ 7, 9, 7 ]];
  
# calling the function
Sum(mat, r, c);
  
# This code is contributed by 29AjayKumar


C#




// C# program to calculate the sum 
// of upper and lower triangle
using System;
  
class GFG
{
    /*function to calculate sum*/
    static void sum(int [,]mat, int r, int c)
    {
        int i, j;
        int upper_sum = 0;
        int lower_sum = 0;
          
        /*calculate sum of upper triangle*/
        for (i = 0; i < r; i++)
            for (j = 0; j < c; j++) 
            {
                if (i <= j) 
                {
                   upper_sum += mat[i,j];
                }
            }
      
        Console.WriteLine("Upper sum is "
                                upper_sum);
          
        /*calculate sum of lower*/
        for (i = 0; i < r; i++)
            for (j = 0; j < c; j++) 
            {
                if (j <= i) 
                {
                   lower_sum += mat[i,j];
                }
            }
      
        Console.Write("Lower sum is "
                            lower_sum);
    
          
    // Driver code
    public static void Main ()
    {
        int r = 3;
        int c = 3;
      
        /*giving the matrix*/
        int [,]mat = {{6, 5, 4},
                      {1, 2, 5},
                      {7, 9, 7}};
                          
        /*calling the function*/
        sum(mat, r, c);
    }
}
  
// This code is contributed by nitin mittal.


PHP




<?php
// PHP program to calculate the sum 
// of upper and lower triangle
  
// function to calculate sum
function sum($mat, $r, $c)
{
      
    $upper_sum = 0;
    $lower_sum = 0;
      
    /* to calculate sum of 
       upper triangle */
    for ($i = 0; $i < $r; $i++)
        for ($j = 0; $j < $c; $j++) 
        {
            if ($i <= $j
            {
                $upper_sum += $mat[$i][$j];
            }
        }
  
    echo "Upper sum is ". $upper_sum."\n";
      
    /* to calculate sum of lower */
    for ($i = 0; $i < $r; $i++)
        for ($j = 0; $j < $c; $j++) 
        {
            if ($j <= $i)
            {
                $lower_sum += $mat[$i][$j];
            }
        }
  
    echo "Lower sum is ". $lower_sum;
}
  
    // Driver Code
    $r = 3;
    $c = 3;
  
    /*giving the matrix*/
    $mat = array(array(6, 5, 4),
                 array(1, 2, 5),
                 array(7, 9, 7));
                      
    /*calling the function*/
    sum($mat, $r, $c);
  
// This code is contributed by Sam007
?>



Output :



Upper sum is 29
Lower sum is 32

This article is contributed by Pranav. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :