DÚ 2 – Skupiny 20 a 21 Vaším úkolem je vytvořit program, který opakovaně načítá matice a počítá součet v každém řádku a sloupci. Po spuštění program od uživatele očekává zadání počtu řádků a sloupců (dvě čísla na jednom řádku). Poté vytvoří matici o zadaných rozměrech, která bude schopná ukládat desetinná čísla. Program se bude uživatele po jednom dotazovat na prvky matice a bude informovat uživatele, jaký prvek právě zadává. Po zadání všech prvků matice ji program vypíše na obrazovku (čísla musí být nějak rozumně zarovnaná, aby opravdu byly vidět sloupce) spolu se součty pro jednotlivé řádky a sloupce. Poté se program zeptá uživatele, zda si přeje pokračovat zadáním další matice nebo má program skončit. Od uživatele očekává, že zadá 'a' nebo 'n'. Takovýto podrobný popis chování programu vám píšu kvůli tomu, abyste mohli použít testovací data, která máte k dispozici ve studijních materiálech. Vzhledem k tomu, že zadávat pořád dokola matice kvůli testování je otrava, můžete použít přiložený testovací soubor, který "podstrčíte" programu a on bude simulovat vstup uživatele. Samozřejmě to dělat nemusíte, ale program budu na těchto datech zkoušet, takže pokud budete takto mít ověřeno, že program funguje, máte velkou šanci, že vám úkol uznám. Pro uživatele Windows je tu návod, jak na to: · Najděte v Průzkumníku adresář, kde máte umístěn program (soubor *.c a po překladu i *.exe) · Nakopírujte sem soubor data.txt ze složky se zadáním úkolu ve studijních materiálech · Držte Shift a klikněte pravým tlačítkem v Průzkumníku někam do „volného prostoru“ (tzn. ne na žádný soubor) · Zvolte možnost „Zde otevřít příkazové okno“ · Otevře se černé okno - prostředí příkazové řádky · Zde stačí napsat Du2.exe < data.txt - název programu možná budete mít jiný. · Měli byste vidět výstup vašeho programu, který hodnoty na vstupu (tzn. to co, získáváme přes scanf) bere ze souboru data.txt. Samotná data ze souboru se ve výpisu neobjevují, to je v pořádku (viz screenshot na konci zadání). Na co si dát pozor: · Struktura kódu - program obsahuje několik zanořených cyklů, budu proto strhávat body za nepřehledný program (např. neodsazované bloky) · Pravděpodobně narazíte na problém, že načítání znaku nebude fungovat správně. Vyřešte to tak, že před scanf(“%c“, &znak); umístěte příkaz getchar(); · Zarovnání výpisu - musí být zřetelné, do kterého sloupce číslo patří. Detaily "grafické úpravy" nechám na vás. · Aby vám testovací data fungovala, musíte rozměry matice načítat z jednoho řádku jedním příkazem scanf (např. scanf(“%i %i“, &radky, &sloupce);) a program musí pokračovat při zadání znaku 'a' a ukončit se při zadání znaku 'n'. · Program se dá napsat na zhruba 60 řádků. Hodně štěstí!