Suma el marc d'una matriu T54397


Statement
 

pdf   zip   main.cc

Sigui MM una matriu quadrada N×NN \times N. Aquesta matriu té diferents marcs. El marc 00 està format per les files 00 i N1N-1 i les columnes 00 i N1N-1. El marc 11 està format per les files 11 i N2N-2 i les columnes 11 i N2N-2, excloent les parts que són part del marc 00, etc.

En el següent exemple, teniu que el marc 00 el formen totes les posicions en què hi ha un 00, el marc 11 les posicions en què hi ha un 11, i el marc 22 les posicions en què hi ha un 22:

                          0  0  0  0  0
                          0  1  1  1  0
                          0  1  2  1  0
                          0  1  1  1  0
                          0  0  0  0  0

Cal implementar la funció int sumaMarc(const Matriu& m, int x); amb la següent especificació:

PRE: mm una matriu N×NN \times N i 0x<N/2+(Nmod2)0 \leq x < N/2 + (N~mod~2).

POST: Torna la suma dels elements del marc xx d’MM.

Observació

Només cal que envieu la funció que us demanem i les funcions que vosaltres definiu. La resta no es tindrà en compte.

Entrada

Una matriu N×NN \times N i 0x<N/2+(Nmod2)0 \leq x < N/2 + (N~mod~2).

Sortida

La suma dels elements del marc xx d’MM.

Sample session
ENTRADA 1:
5
1  1  1  1  1
1  2  2  2  1
1  2  3  2  1
1  2  2  2  1
1  1  1  1  1

0
1
2

SORTIDA 1:
El marc 0 suma 16
El marc 1 suma 16
El marc 2 suma 3


ENTRADA 2:
4
1  2  3  1
2  1  3  2
2  3  5  3
1  2  2  1

0
1

SORTIDA 2:
El marc 0 suma 22
El marc 1 suma 12


ENTRADA 3:
6
1  1  1  1  0  7
1  0  2  2  2  1
4  2  3  5  2  2
1  2  0  3  0  1
1  1  2  2  2  1
1  1  1  1  1  0

0
1
2

SORTIDA 3:
El marc 0 suma 28
El marc 1 suma 19
El marc 2 suma 11
Information
Author
PRO1
Language
Catalan
Other languages
English Spanish
Official solutions
C++
User solutions
C++