Una matriu quadrada es diu pentadiagonal si tots els elements fora de la diagonal principal i de les dues diagonals per sobre i per sota de la diagonal principal són 0.
Per exemple, la matriu de l’esquerra és pentadiagonal, però la de la dreta no (sí que ho seria si els 9 de la segona i sisena fila fóssin 0).
Utilitzant la definició
implementeu la funció
que indica si |mat| és pentadiagonal o no.
Utilitzant també la definició
implementeu l’acció
que deixa en els camps |suma| i |maxim| del paràmetre de sortida |inf| la suma i el màxim de tots els elements de |mat|, sota la precondició que |mat| és pentadiagonal.
El programa principal ja se us dóna implementat; no el canvieu. Aquest llegeix matrius quadrades d’enters i, per a cadascuna, si la matriu és pentadiagonal escriu la suma i el màxim dels seus elements; altrament escriu que no ho és.
Precondició
Les matrius |mat| són n× n amb n≥6.
Input
10 2 0 1 0 0 0 0 0 0 0 9 4 1 1 0 0 0 0 0 0 1 1 5 1 5 0 0 0 0 0 0 6 3 2 5 1 0 0 0 0 0 0 2 1 5 1 1 0 0 0 0 0 0 1 9 0 9 9 0 0 0 0 0 0 5 1 1 1 8 0 0 0 0 0 0 5 1 5 2 4 0 0 0 0 0 0 4 5 4 4 0 0 0 0 0 0 0 5 5 7 10 5 6 7 0 0 0 0 0 0 0 1 7 3 6 0 0 0 9 0 0 1 7 0 7 3 0 0 0 0 0 0 8 7 8 1 4 0 0 0 0 0 0 8 2 1 4 1 0 0 0 0 0 9 5 1 4 1 1 0 0 0 0 0 0 1 4 4 5 6 0 0 0 0 0 0 6 8 7 7 2 0 0 0 0 0 0 8 4 0 0 0 0 0 0 0 0 0 7 5 5 6 -1 0 1 0 0 0 0 -1 0 1 0 0 1 0 -1 0 1 0 0 1 0 -1 0 1 0 0 1 0 -1 0 0 0 0 1 0 -1 6 -17 -17 -17 0 0 0 -17 -17 -17 -17 0 0 -17 -17 -17 -17 -17 0 0 -17 -17 -17 -17 -17 0 0 -17 -17 -17 -17 0 0 0 -17 -17 -17
Output
153 9 no es pentadiagonal 2 1 -408 0