Suma del triángulo superior y el triángulo inferior

Dada una array, imprima la suma de los elementos triangulares superior e inferior (es decir, los elementos en diagonal y los elementos superior e inferior).

Ejemplos: 

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

La solución es bastante simple, solo necesitamos atravesar la array y calcular la suma de los triángulos superior e inferior en consecuencia. 

Implementación:

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
?>

Javascript

<script>
 
// Javascript program to calculate the sum
// of upper and lower triangle
 
/*function to calculate sum*/
function sum(mat,r,c)
{
    let i, j;
    let upper_sum = 0;
    let 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];
            }
        }
 
    document.write("Upper sum is "+ upper_sum+"<br/>");
     
    /*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];
            }
        }
 
    document.write("Lower sum is "+lower_sum);
}
 
/*driver function*/
 
    let r = 3;
    let c = 3;
 
    /*giving the matrix*/
    let mat = [[ 6, 5, 4 ],
                     [ 1, 2, 5 ],
                     [ 7, 9, 7 ]];
                      
    /*calling the function*/
    sum(mat, r, c);
    
// This code contributed by Rajput-Ji
 
</script>
Producción

Upper sum is 29
Lower sum is 32

Complejidad temporal: O(r * c), donde r y c representan el número de filas y columnas de la array dada.
Espacio auxiliar: O(1) , no se requiere espacio adicional, por lo que es una constante.

Este artículo es una contribución de Pranav . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *