Tablice dwuwymiarowe
Tablice dwuwymiarowe to nieco bardziej rozbudowane tablice jednowymiarowe. Tworzy się je w następujący sposób:
VAR tablica : array [1..10,1..10] of integer;
Ogólny kod:
VAR dowolna_nazwa_tablicy : array [1..10,1..10] {liczba elementów tablicy czyli od 1 do 10 poziomo i 1 do 10 pionowo} of integer; {typ danych np. integer, byte, single itd.}
Zadeklarowana powyżej tablica dwuwymiarowa wizualnie będzie wyglądać tak:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
Oczywiście nie będzie zawierała ona żadnych danych.
Do odczytu i zapisu danych w tablicach dwuwymiarowych używa się zagnieżdżonych pętli iteracyjnych for-to-do
. Prześledźmy na przykładzie jak to się odbywa:
program tabliceDwuwymiarowe; uses CRT; var tablica : array[1..10,1..10] of integer; i,j:byte; begin clrscr; for i:=1 to 10 do begin for j:=1 to 10 do tablica[i,j] := j; {do tablicy o indeksie równemu wartości zmiennej i,j (np. 5,4) przypisujemy liczbę, która jest obecnie zapisana w zmiennej iteracyjnej} end; for i:=1 to 10 do begin for j:=1 to 10 do writeln(tablica[i,j]); {wyświetlamy wartość indeksu tablicy oznaczonego danym numerem np. tablica[1,1] - przy pierwszym wykonaniu pętli, tablica[2,1], tablica[3,1] itd.} end; repeat until keypressed; end.
Zapis danych:
for i:=1 to 10 do begin for j:=1 to 10 do tablica[i,j] := j; end;
Odczyt danych:
for i:=1 to 10 do begin for j:=1 to 10 do writeln(tablica[i,j]); end;
Do odczytu i zapisu danych używaliśmy dwóch zagnieżdżonych pętli for-to-do
w przypadku tablic trójwymiarowych, używalibyśmy trzech zagnieżdżonych pętli, a w przypadku tablic czterowymiarowych czterech (tablic czterowymiarowych i wyższych praktycznie nie używa się w programowaniu).