Search
Termín odevzdání: 30.11.2019 23:59 CET
Hodnocení: 6b
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!”.
Error: Chybny vstup!
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 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.
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__
$ \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) $
2 3 76 98 -31 30 30 32 - 2 3 89 25 38 1 -32 -38
2 3 -13 73 -69 29 62 70
$ \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) $
1 3 -59 78 -85 * 3 1 78 -28 -97
1 1 1459
2 3 16 41 -98 * 3 1 96 -67 49
$ \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) $
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