Suma de Diagonales

Dada una matriz cuadrada de tamaño n × n, implemente la función en C++:

    vector<int> suma_diagonal(const vector<vector<int>>& A, bool diagonal)

 
que devuelve el vector de 2n − 1 elementos que contiene la suma de las
diagonales (o de las anti-diagonales) de la matriz. El booleano diagonal
determina si se desea la suma de las diagonales (cierto) o de las
antidiagonales (falso).

Por ejemplo, para la matriz:

    1 2 3
    4 5 6
    7 8 9

La suma de la primera diagonal es 7, la de la segunda 4 + 8 = 12, la
tercera 1 + 5 + 9 = 15, la cuarta 2 + 6 = 8 y la quinta 3. Por tanto, el
vector obtenido cuando el booleano es cierto es: 7 12 15 8 3

Si el booleano fuera falso y sumamos las antidiagonales, obtendremos 1
para la primera, 2 + 4 = 6 para la segunda, 3 + 5 + 7 = 15 para la
tercera, 6 + 8 = 14 para la cuarta, y 9 para la última, y el resultado
de la función sería el vector: 1 6 15 14 9

Observación

Sólo tenéis que enviar el procedimiento requerido; el programa principal
será ignorado.

Información del problema

Autoría: INFO-FME

Generación: 2026-01-25T13:50:03.927Z

© Jutge.org, 2006–2026.
https://jutge.org
