====== 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!
|