Donada una matriu quadrada de mida n×n, implementeu la funció en C++:
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.
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