Dvourozměrné pole - WPF
6. Výstup programu
Na následujících výstupech týkajících se programu DvourozmernePoleWPF budou zobrazeny jednotlivé výstupy aplikace pro různá nastavení atributů dvourozměrného pole (matice) a případy plnění tohoto pole včetně jednotlivých operací prováděných s prvky pole.
Rozměr pole
Pokud uživatel nastavil některý z rozměrů pole mimo povolené hranice, je o této chybě informován pomocí dialogového okna a rozměr je nastaven na maximální rozměr, tj. na konstantu Max - viz Výstup programu 1.
Výstup programu 1 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Překročení maximálního počtu řádků pole
Dolní a horní mez prvků
Pokud uživatel zadal dolní mez větší než horní mez, dolní mez bude nastavena na hodnotu horní meze - viz Výstup programu 2. V opačném případu, pokud uživatel zadal horní mez menší než dolní mez, bude horní mez nastavena no dolní mez.
Výstup programu 2 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Změna velikosti dolní meze, která je větší než horní mez
Plnění pole
Vzhledem k možnosti plnění pole různými způsoby jsou v následujících odstavcích zobrazeny různé varianty týkající se plnění dvourozměrného pole. Pole je vypsáno jak v objektu typu TextBox s titulkem Jako text (nebo výpis výsledku), tak i do objektu typu ListView s titulkem Mřížka.
Náhodná čísla
V následujícím výřezu výstupu programu vidíme variantu plnění dvourozměrného pole o velikosti 10 řádků a 10 sloupců náhodnými celými čísly - viz Výstup programu 3. Dolní mez prvků pole je nastavena na hodnotu 1 a horní mez na hodnotu 100.Výstup programu 3 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Plnění pole náhodnými čísly
Plnění jednotlivých prvků pole
Další možností plnění pole je plnění prvku v matici s určitým indexem řádku a sloupce pomocí hodnoty zadané uživatelem - viz Výstup programu 4. Prvky, u nichž není zadána hodnota uživatelem, jsou inicializovány počáteční hodnotou v závislosti na příslušném datovém typu (např. pro datový typ int je přednastavená hodnota 0). Na výřezu výstupu programu vidíme postupné plnění celočíselného dvourozměrného pole o 3 řádcích a 3 sloupcích (kde dolní mez hodnot prvků je rovna 1 a horní mez je rovna 9). Při dalším plnění prvku je automaticky přenastavena pozice prvku na pozici dalšího prvku.
Výstup programu 4 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Ruční plnění pomocí specifikace pozice a hodnoty prvku
Pokud nebyla zadána hodnota prvku, uživateli je zobrazeno dialogové okno s popisem chyby - viz Výstup programu 5.
Výstup programu 5 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Nezadání hodnoty prvku při ručním plnění pole
Plnění nulami
Třetí možností plnění pole je všem prvkům přiřadit hodnotu 0. Následující výřez výstupu programu znázorňuje výpis matice o velikosti 10 x 10 prvků, kde jsou všechny prvky naplněny nulami - viz Výstup programu 6.
Výstup programu 6 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Plnění všech prvků nulami
Minimum a maximum pole
Následující výstup programu aplikace ilustruje nalezení minima v poli o rozměrech 3 x 3 (řádky x sloupce). Ve výpisu jsou uvedeny indexy řádku a sloupce nalezeného minima. Pole bylo plněno jednotlivě uživatelem zadanými čísly v rozmezí celočíselných hodnot 1 ÷ 9 (viz Výstup programu 4 - nadpis Plnění jednotlivých prvků pole) - viz Výstup programu 7.
Výstup programu 7 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Nalezené minimum v poli včetně jeho pozice v poli (index řádku a sloupce)
Další výstup programu ilustruje nalezení maxima pole o rozměrech 3 x 3 (jedná se o stejné pole naplněné ručně viz Výstup programu 4 - nadpis Plnění jednotlivých prvků pole) a výpisu jeho hodnoty včetně pozice - viz Výstup programu 8.
Výstup programu 8 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Nalezené maximum v poli včetně jeho pozice v poli (index řádku a sloupce)
Průměr pole
Následující výstup programu aplikace ilustruje výpočet aritmetického průměru prvků pole o rozměrech 3 x 3, které byly zadány při plnění jednotlivých prvků pole (jedná se o stejné pole naplněné ručně viz Výstup programu 4 - nadpis Plnění jednotlivých prvků pole) - viz Výstup programu 9.
Výstup programu 9 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Výpočet aritmetického průměru ze všech prvků pole
Seřazení prvků pole
Následující výstup programu ilustruje vzestupné seřazení prvků v jednotlivých řádcích pole o rozměrech 3 x 3, které bylo zadáno pomocí plnění jednotlivých prvků pole (jedná se o stejné pole naplněné ručně viz Výstup programu 4 - nadpis Plnění jednotlivých prvků pole) - viz Výstup programu 10.
Výstup programu 10 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Vzestupné seřazení všech prvků v jednotlivých řádcích pole
Transpozice prvků
Předposlední výstup programu ilustruje transpozici prvků pole podle hlavní diagonály již seřazených prvků ve všech řádcích matice (viz Výstup programu 10 - nadpis Seřazení prvků pole) - viz Výstup programu 11.
Výstup programu 11 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Transpozice prvků pole podle hlavní diagonály
Poslední výstup programu ilustruje transpozici prvků pole podle vedlejší diagonály již transponovaných prvků pole (viz Výstup programu 11 - nadpis Transpozice prvků) podle hlavní diagonály - viz Výstup programu 12.
Výstup programu 12 - Kód 1 a 2 (viz kapitola 5 Výsledný kód): Transpozice prvků pole podle vedlejší diagonály