Základní (jednorozměrná) pole nám někdy pro pohodlnou práci nestačí. V některých situacích potřebujeme složitější způsob ukládání dat. Pro tyto případy používáme vícerozměrná pole. V této kapitole se zaměříme na dvourozměrná pole, která si můžeme představit jako tabulku – tedy strukturu složenou z řádků a sloupců.

index 0 1 2 3 4 5 6 7
0 74 101 115 116 108 105 32 116
1 111 104 108 101 32 110 101 107
2 100 111 32 114 111 122 108 117
3 115 116 105 108 32 116 97 107
4 32 115 101 32 110 97 100 32
5 115 101 98 111 117 32 122 97
6 109 121 115 108 101 116 101 32
7 97 32 114 97 100 115 105 32
8 98 101 122 116 101 32 118 101
9 110 0 0 0 0 0 0 0

I u dvourozměrných polí má každý prvek svůj index – přesněji dvojici indexů, která určuje jeho souřadnice v poli (řádek a sloupec). Stejně jako u jednorozměrných polí se indexování začíná od nuly.

Existují také trojrozměrná, čtyřrozměrná a obecně vícerozměrná pole. Ta se však pro potřeby výuky vývojových diagramů používají jen zřídka, protože jejich struktura je složitější a pro většinu úloh zbytečně komplikovaná.

Základní operace s dvourozměrným polem

Mezi základní operace patří, stejně jako u jednorozměrného pole definice a deklarace a následně práce s jednotlivými prvky.

Deklarace pole

Deklarace pole je ve své podstatě velmi podobná deklaraci proměnné. Stačí uvést jeho název a klíčové slovo pole, které je doplněno dvojicí hranatých závorek s číselnou hodnotou udávající počet prvků v každém rozměru.

Deklarace dvourozměrného pole

Deklarace dvourozměrného pole

Definice pole

Definice pole se v případě vývojových diagramů dá vyřešit velmi jednoduše. Pokud se jedná o “úvodní” definici je možné přímo v příkazovém bloku uvést v hranatých závorkách výčet všech hodnot prvků pole a ty jednoduše přiřadit.

Definice dvourozměrného pole hodnotami

Definice dvourozměrného pole hodnotami

Jelikož se jedná o dvourozměrné pole je potřeba uvádět hodnoty do kombinace hranatých závorek pro každý řádek. tedy například čísla = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]. Takto bychom vytvořili dvourozměrné pole 3x3, s hodnotami po řádcích od 1 do 9.

index 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9

<aside> <img src="/icons/light-bulb_yellow.svg" alt="/icons/light-bulb_yellow.svg" width="40px" />

I zde platí, že pokud spojíme v jednom kroku deklaraci a definici pole, jedná se inicializaci.

</aside>

I v tomto případě bychom si měli dát pozor na fakt, že po deklaraci nemůžeme předpokládat, že v nově vytvořeném poli máme v každém prvku hodnotu 0. Abychom si v některých případech trochu zjednodušili práci, můžeme v případě vývojových diagramů inicializovat pole následujícím způsobem.

Inicializace 2D pole náhodnými čísly

Inicializace 2D pole náhodnými čísly

Takto vytvoříme pole váha o velikosti šířka x výška, kde budou hodnoty náhodná celá čísla čísla. Nebo pole věk o velikosti 5 x 5 s prvky, kde každý má hodnotu 0.

Operace s prvky

Stejně jako v případě jednorozměrného pole, i zde je možné přistupovat na jednotlivé prvky pomocí indexů.