Suma de Diagonals X15162


Statement
 

pdf   zip   main.cc

html

Donada una matriu quadrada de mida n×n, implementeu la funció en C++:

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

 
que retorna el vector de 2n−1 elements que conté la suma de les diagonals (o de les anti-diagonals) de la matriu. El booleà diagonal determina si es vol la suma de les diagonals (cert) o de les antidiagonals (fals).

Per exemple, per a la matriu:

1 2 3
4 5 6
7 8 9

La suma de la primera diagonal és 7, la de la segona 4+8=12, la tercera 1+5+9=15, la quarta 2+6=8, i la cinquena 3. Per tant, el vector obtingut quan el booleà és cert és: 7 12 15 8 3

Si el boolea fos fals i sumessim les antidiagonals, obtindrem 1 per la primera, 2+4=6 per la segona, 3+5+7=15 per la tercera, 6+8=14 per la quarta, i 9 per la darrera, i el resultat de la funció seria el vector: 1 6 15 14 9

Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.

Sample session
n: 3
A:
 1 2 3
 4 5 6
 7 8 9

Call: suma_diagonal(A, true) 
Result: 7 12 15 8 3
Call: suma_diagonal(A, false) 
Result: 1 6 15 14 9
Information
Author
INFO-FME
Language
Catalan
Other languages
Spanish
Official solutions
C++
User solutions
C++