Warning
This page is located in archive.

HW03 - maticové operace

Termín odevzdání: 30.11.2019 23:59 CET

Hodnocení: 6b

Zadání

Na standardním vstupu jsou pouze dvě matice s jednou operací (+,-,*). Vaším úkolem je provést zadanou operaci a vypsat na standardní výstup výslednou matici.

Pokud nebude vstup ve správném formátu nebo nepůjde provést příslušnou maticovou operaci, tak vypište “Error: Chybny vstup!”.

Formát vstupu

Na standardním vstupu jsou dvě matice (nebo v bonusovém zadání i více matic) oddělené jedním řádkem se znakem operace (+,-,*). Každá matice má na prvním řádku nejprve svoji velikost ($n$, $m$) a následuje $n$ řádků vždy s $m$ hodnotami matice. Jednotlivé hodnoty jsou oddělené mezerami, ale za poslední hodnotou je pouze znak nového řádku.

Formát výstupu

Formát výstupu je stejný, ale obsahuje pouze jednu matici. Nezapomeňte, že na konci řádku není mezera a i za posledním řádkem je znak nového řádku.

Doporuční pro implementaci

Pro implementaci domácího úkolu navrhněte třídu, která bude popisovat matici. Parametry konstruktoru bude velikost matice, součástí budou přtížené magické metody pro aritmetické operace:

__add__
__sub__
__mul__

Příklad 1

$
\left( \begin{array}{cc}
76 & 98 & -31 \\\\
30 & 30 & 32 \end{array} \right)
-
\left( \begin{array}{c}
89 & 25 & 38 \\\\
1 & -32 & -38 \end{array} \right)
=
\left( \begin{array}{c}
-13 & 73 & -69 \\\\
29 & 62 & 70 \end{array} \right)
$

Standardní vstup Očekávaný výstup Očekávaný chybový výstup
2 3
76 98 -31
30 30 32
-
2 3
89 25 38
1 -32 -38
2 3
-13 73 -69
29 62 70
žádný

Příklad 2

$
\left( \begin{array}{cc}
-59 & 78 & -85\end{array} \right)
\times
\left( \begin{array}{c}
78 \\\\
-28 \\\\
-97\end{array} \right)
=
\left( \begin{array}{c}
1459\end{array} \right)
$

Standardní vstup Očekávaný výstup Očekávaný chybový výstup
1 3
-59 78 -85
*
3 1
78
-28
-97
1 1
1459
žádný

Příklad 3

Standardní vstup Očekávaný výstup Očekávaný chybový výstup
2 3
16 41 -98
*
3 1
96
-67
49
žádný
Error: Chybny vstup!

Příklad 4

$
\left( \begin{array}{cc}
81 & -96 & -56 & -9 \\\\
-19 & 66 & 37 & -21 \\\\
20 & 49 & -71 & -49 \\\\
45 & -96 & 20 & 8\end{array} \right)
\times
\left( \begin{array}{c}
-89 & -96 \\\\
76 & 75 \\\\
65 & 2\end{array} \right)
$

Standardní vstup Očekávaný výstup Očekávaný chybový výstup
4 4
81 -96 -56 -9
-19 66 37 -21
20 49 -71 -49
45 -96 20 8
*
3 2
-89 -96
76 75
65 2
žádný
Error: Chybny vstup!
courses/bab37zpr/hw/hw03.txt · Last modified: 2019/11/18 10:28 by viteks