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