Suma el marc d'una matriu T54397


Statement
 

pdf   zip   main.cc

thehtml

Sigui M una matriu quadrada N × N. Aquesta matriu té diferents marcs. El marc 0 està format per les files 0 i N−1 i les columnes 0 i N−1. El marc 1 està format per les files 1 i N−2 i les columnes 1 i N−2, excloent les parts que són part del marc 0, etc.

En el següent exemple, teniu que el marc 0 el formen totes les posicions en què hi ha un 0, el marc 1 les posicions en què hi ha un 1, i el marc 2 les posicions en què hi ha un 2:

                          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: m una matriu N × N i 0 ≤ x < N/2 + (N ‍mod ‍2).

POST: Torna la suma dels elements del marc x d’M.

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 × N i 0 ≤ x < N/2 + (N ‍mod ‍2).

Sortida

La suma dels elements del marc x d’M.

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++