IB001 – Seminární skupiny 6, 7 a 24

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:

  1. Uživatel zadá rozměry matice m a n jako dvě celá čísla větší jako 0, např. "3 3".
  2. 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á

mn: 3 1
1
-2
3 - sloupcová

mn: 1 1
0 - nulová, čtvercová, diagonální, symetrická

mn: 2 2
1 0
0 1 - čtvercová, jednotková, diagonální, symetrická

mn: 2 2
1 -2
0 3 - čtvercová, horní trojúhelníková

mn: 3 3
1 2 3
2 0 4
3 4 -1 - čtvercová, symetrická

mn: 3 3
-1 0 0
0 3 0
0 0 0 - čtvercová, diagonální, symetrická

mn: 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/.