MaticeVedlejsiDiagonala_Main
Requisitos de finalización
- Zadání: Deklarujte symetrické dvourozměrné pole s názvem matice. Toto pole bude obsahovat celočíselné hodnoty. Pomocí statické metody VytvorMatici, kde matice je výstupním parametrem, automaticky naplňte matici příslušnými hodnotami, které budou vzrůstat po sloupcích v každém řádku, tzn. první prvek první řádky, tj. vlevo nahoře, obsahuje hodnotu 1, další prvek v sousedním sloupci vpravo bude obsahovat 2, atd. Přiřazení hodnoty aktuálnímu prvku proveďte pomocí proměnné hodnotaPrvku. Plnění proveďte pomocí dvou cyklů s krokem - cyklus pro procházení řádek a další vnořený cyklus pro procházení sloupců. V metodě VytvorMatici také načtěte rozměry matice - proměnná m bude obsahovat počet řádků matice, proměnná n bude obsahovat počet sloupců matice. Pro výpis hodnot prvků na vedlejší diagonále použijte statickou metodu VedlejsiDiagonala do níž matici předejte. U výpisu každého prvku na vedlejší diagonále uveďte v hranaté závorce index řádku a index sloupce oddělené čárkou. Obě metody jsou volány v hlavní metodě Main
- Řešení:
- Podprogramy:
- VytvorMatici
//Deklarace metody, kde dvourozměrné pole je deklarováno jako výstupní parametr metody public static void VytvorMatici(out int[ , ] matice) { // Deklarace proměnné: 'hodnota' - hodnota v prvku int hodnotaPrvku = 1; //Výpis textu pro zadání počtu řádků matice Console.Write("Zadejte počet řádků matice: "); /* Deklarace proměnné 'm' - počet řádků matice * + konverze zadaného textu na číslo */ int m = int.Parse(Console.ReadLine()); // Deklarace proměnné: 'n' - celkový počet sloupců matice int n; do { //Výpis textu pro zadání počtu sloupců matice Console.Write("Zadejte počet sloupců matice: "); /* Deklarace proměnné 'n' - počet sloupců matice * + konverze zadaného textu na číslo */ n = int.Parse(Console.ReadLine()); } //Prováděj cyklus pokud n je různé od m while (n != m); //Vytvoření instance dvourozměrného pole o specifikované velikosti matice = new int[m, n]; //Cyklus procházející jednotlivé řádky matice for (int i = 0; i < m; i++) { //Cyklus procházející jednotlivé sloupce matice for (int j = 0; j < n; j++) { //Přiřazení hodnoty prvku matice matice[i, j] = hodnotaPrvku++; } } }
- VedlejsiDiagonala
//Deklarace metody vypisující obsah všech prvků na vedlejší diagonále dvourozměrného pole public static void VedlejsiDiagonala(int[ , ] matice) { //Cyklus procházející jednotlivé řádky matice for (int i = 0; i < matice.GetLength(0); i++) { //Cyklus procházející jednotlivé sloupce matice for (int j = 0; j < matice.GetLength(1); j++) { //Pokud se prvek nachází na vedlejší diagonále if (j == matice.GetLength(1) - i - 1) //Výpis textu s obsahem prvku včetně pozice prvku Console.WriteLine("Hodnota prvku matice[{0}, {1}]: {2}", i, j, matice[i, j]); } } }
- Hlavní program - Main:
static void Main(string[] args) { //Zavolání metody s výstupním parametrem matice VytvorMatici(out int[,] matice); //Zavolání metody pro vypsání prvků na vedlejší diagonále matice VedlejsiDiagonala(matice); //Čekání na stisk klávesy -> ukončení programu Console.ReadKey(); }
- Výstup programu:
Zadejte počet řádků matice: 4
Zadejte počet sloupců matice: 4
Hodnota prvku matice[0, 3]: 4
Hodnota prvku matice[1, 2]: 7
Hodnota prvku matice[2, 1]: 10
Hodnota prvku matice[3, 0]: 13
Última modificación: jueves, 13 de febrero de 2020, 00:48