Dvourozměrné pole - konzole
2. Analýza a návrh řešení
Jednorozměrná pole jsme vnímali jako seznam jednotlivých prvků umístěných za sebou, k nimž přistupujeme pomocí indexů. Pole ale může mít více než jednu dimenzi (dimenze značí počet rozměrů - pole mělo jen jednu). Zaměřme se nyní na dvourozměrné pole označované jako matice (dimenze takového pole je tedy rovna 2 - ve vertikální ose matice obsahuje řádky a v horizontální ose obsahuje sloupce). Upozorněme, že prvky matice musí být všechny stejného datového typu.
Dvourozměrné pole si lze představit jako tabulku o řádcích a sloupcích, nebo také jako více jednorozměrných polí uspořádaných za sebou. Pro přístup k jednotlivým prvkům matice je zapotřebí dvou celočíselných indexů - viz Obrázek 1.
- První celočíselný index pro řádky např. i (index řádky je číslován od 0. Počet řádků matice můžeme označit např. m)
- Druhý celočíselný index pro sloupce např. j (index sloupce je číslován od 0. Počet sloupců matice můžeme označit např. n)

Obrázek 1: Podstata dvourozměrného pole - matice (rozměr m × n)
Pro přístup k hodnotě uložené v prvku matice, nebo k uložení hodnoty do prvku matice (přiřazení hodnoty) využíváme v příkazu název dvourozměrného pole a za ním uvedené uzavřené hranaté závorky s dvěma indexy určující pozici prvku v řádku a sloupci.
Velikost dvourozměrného pole je určena počtem prvků pro jednotlivé osy - ve vertikální ose velikost matice určuje počet řádků a v horizontální ose určuje počet sloupců. Celkový počet prvků dvourozměrné matice je v našem případě m × n prvků.
Standardně bychom v této kapitole použili pro návrh řešení vývojové diagramy vytvořené v aplikaci Flowgorithm. Protože však tento software zatím nepodporuje použití dvourozměrných polí (tento nedostatek lze obejít skládáním řádků matice za sebou a umístit všechny řádky do jednorozměrného pole, ale tento přístup používat nebudeme), bude řešení implementováno přímo do zdrojového kódu v C#.