# Sum of upper triangle and lower triangle

• Difficulty Level : Easy
• Last Updated : 18 Jul, 2022

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.

Implementation:

## C++

 `// C++ program to calculate the sum``// of upper and lower triangle``#include ``using` `namespace` `std;` `/*function to calculate sum*/``void` `sum(``int` `mat, ``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 = {{ 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

 ``

## Javascript

 ``

Output

```Upper sum is 29
Lower sum is 32```

Time Complexity: O(r * c), where r and c represents the number of rows and columns of the given matrix.
Auxiliary Space: O(1), no extra space is required, so it is a constant.

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

My Personal Notes arrow_drop_up