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á.
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 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
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
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
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.
Stejně jako v případě jednorozměrného pole, i zde je možné přistupovat na jednotlivé prvky pomocí indexů.