Domácí úloha č. 3
Zadání
Napište program pro zjišťování vlastností matic. Může být zadána libovolná celočíselná matice M o rozměrech m (počet řádků) krát n (počet sloupců), kde m a n > 0 jsou přirozená čísla. Program zjistí u matice tyto vlastnosti:
- řádková
- sloupcová
- nulová
- čtvercová
- jednotková (pokud je čtvercová)
- diagonální (pokud je čtvercová)
- dolní trojúhelníková (pokud je čtvercová)
- horní trojúhelníková (pokud je čtvercová)
- symetrická (pokud je čtvercová)
Zápis programu čleňte do funkcí tak, že samotné zjištění jedné nebo více vlastností matice provedete ve funkcích. Funkce budou mít dvourozměrné pole (matici) jako jeden z argumentů. Takto definujte a v programu použijte alespoň dvě vaše funkce. Vaše funkce nesmí obsahovat operace vstupu (printf, scanf, ...).
Definice vlastností matice je možno najít zde: http://cs.wikipedia.org/wiki/Matice
Vstup:
- Uživatel zadá rozměry matice m a n jako dvě celá čísla větší jako 0, např. "3 3".
- Uživatel zadá řádky matice, např. "1 0 0 ENTER", "0 1 0 ENTER" a "0 0 1 ENTER". Budou zadány všechny prvky podle zadaných rozměrů - speciální případy jako méně či více prvků ve vstupu při zadávání neřešte.
Výstup:
Program vypíše vlastnosti, které matice má - ty které nemá, vypisovat nemusí. Pokud zadaná matice žádné vlastnosti nemá, program to oznámí vhodným výpisem.
Testovací vstupy:
m, n: 1 3
1 2 3 - řádková
m, n: 3 1
1
-2
3 - sloupcová
m, n: 1 1
0 - nulová, čtvercová, diagonální, symetrická
m, n: 2 2
1 0
0 1 - čtvercová, jednotková, diagonální, symetrická
m, n: 2 2
1 -2
0 3 - čtvercová, horní trojúhelníková
m, n: 3 3
1 2 3
2 0 4
3 4 -1 - čtvercová, symetrická
m, n: 3 3
-1 0 0
0 3 0
0 0 0 - čtvercová, diagonální, symetrická
m, n: 2 3
1 2 3
4 5 6 - žádná vlastnost
Tip: Můžete vhodně užít typ bool k uložení hodnot pravda, nepravda.
Hotový program odevzdejte buď jako soubor se zdrojovým kódem nebo jako archiv projektu prostředí Code::Blocks do odevzdávárny (do úterý 25.11. do 23:59).
Skupina 6: https://is.muni.cz/auth/el/1433/podzim2014/IB001/ode/sk6/du3/.
Skupina 24: https://is.muni.cz/auth/el/1433/podzim2014/IB001/ode/sk24/du3/.
Skupina 7: https://is.muni.cz/auth/el/1433/podzim2014/IB001/ode/sk7/du3/.