1. DvourozmernePole

Úkolem je vytvořit aplikaci, která u celočíselného dvourozměrné pole (tj. matice obsahující celá čísla) dokáže provést následující operace:

  • Naplnit matici automaticky nulami
  • Naplnit matici automaticky náhodnými hodnotami v zadaném rozsahu
  • Naplnit matici jednotlivě zadávanými hodnotami pro zadaný index
  • Zobrazit matici jako text, kde prvky jsou odděleny čárkami 
  • Nalézt minimum z hodnot matice
  • Nalézt maximum z hodnot matice
  • Vypočítat průměr z hodnot matice
  • Seřadit vzestupně prvky v každém řádku matice
  • Provést transpozici podle hlavní diagonály
  • Provést transpozici podle vedlejší diagonály
Účel příkladu
  • Práce s dvourozměrným polem (maticí)
Typ aplikace
  • Konzolová aplikace
Popis úkolu 
  • Základní operace s dvourozměrným polem 
Funkčnosti
  • V hlavním programu může uživatel pomocí zavolaného podprogramu (procedura) Inicializace měnit atributy pole pomocí indexu operace, který je využit ve vícenásobném větvení. V tomto podprogramu jsou nastaveny hodnoty atributů pole. Na základě zvoleného validního indexu operace je spuštěn některý z následujících podprogramů (funkcí):
    • RozmerPole - změna rozměru (počet prvků) ve zvolené ose matice, tj. ve vertikální ose - počet řádků, v horizontální ose - počet sloupců
    • DolniMez - změna dolní meze, od které se budou pohybovat hodnoty prvků matice
    • HorniMez - změna horní meze, do které se budou pohybovat hodnoty prvků matice
  • Z hlavního programu bude volán podprogram (procedura) PlnitPole, ve kterém uživatel volí způsob plnění vektoru:
    • 0 ... Náhodně - náhodnými čísly
    • 1 ... Jednotlivě - jednotlivě zadanými hodnotami uživatelem
    • 2 ... Nulovat - plnění vektoru nulami
  • Bude deklarován podprogram (funkce) PoleJakoText, pomocí kterého se prvky matice vypíší jako text (na 3 místa), kde jednotlivé prvky budou od sebe odděleny čárkami
  • V hlavním programu bude volán podprogram (procedura) ZobrazitPole, který volá podprogram PoleJakoText
  • V hlavním programu bude volán podprogram (funkce) MinimumVPoli, pomocí kterého je vyhledáno minimum z hodnot v matici. Ve výpisu bude také uvedena pozice (index řádku a sloupce) minima
  • V hlavním programu bude volán podprogram (funkce) MaximumVPoli, pomocí kterého je vyhledáno maximum z hodnot v matici. Ve výpisu bude také uvedena pozice (index řádku a sloupce) maxima
  • V hlavním programu bude volán podprogram (funkce) PrumerPole, pomocí kterého je vypočten aritmetický průměr z hodnot v matici
  • V hlavním programu bude volán podprogram SeraditPole, pomocí kterého jsou jednotlivé prvky řádku matice seřazeny vzestupně podle jejich hodnoty. Seřazené řádky matice budou vypsány pomocí podprogramu určeného pro výpis matice (ZobrazitPole)
  • V hlavním programu bude volán podprogram HlavniTranspozice, pomocí kterého jsou jednotlivé prvky matice transponovány podle hlavní diagonály. Transponovaná matice bude vypsána
  • V hlavním programu bude volán podprogram VedlejsiTranspozice, pomocí kterého jsou jednotlivé prvky matice transponovány podle vedlejší diagonály. Transponovaná matice bude vypsána
  • Po výpisu bude aplikace ukončena po stisku klávesy
Výstup programu


Výstup programu: Ukázka výpisu matice s náhodnými čísly v hlavní metodě programu DvourozmernePole