Suma Marco de una Matriz T54397


Statement
 

pdf   zip   main.cc

Sea MM una matriz cuadrada N×NN \times N. Esta matriz tiene marcos diferentes. El marco 00 está formado por las filas 00 y N1N-1 y las columnas 00 y N1N-1. El marco 11 está formado por las filas 11 y N2N-2 y las columnas 11 y N2N-2, excluyendo las partes que forman parte del marco 00, etc.

En el siguiente ejemplo, tiene que el marco 00 lo forman todas las posiciones en el que hay un 00, el marco 11 las posiciones en las que hay un 11, y el marco 22 las posiciones en las que hay 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

Es necesario implementar la función int sumaMarc(const Matriu& m, int x); con la siguiente especificación:

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

POST: Vuelve la suma de los elementos del marco xx de MM.

Observación

Sólo tiene que enviar la función que le pedimos y las funciones que ustedes defina. El resto no se tendrá en cuenta.

Entrada

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

Salida

La suma de los elementos del marco xx de 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
Spanish
Translator
Original language
Catalan
Other languages
Catalan English
Official solutions
C++
User solutions
C++