我知道两个维度数组在pascal,[rows,columns]中是如何工作的。
三个或更多维度如何运作?请帮助,谢谢。
a [行,列,???]
答案 0 :(得分:0)
一维数组声明为array[lowIndex..HighIndex] of <type>
,如
intArray: array[0..9] of integer;
二维数组只是一个包含数组的数组,如:
twoDim: array[0..9,0..9] of integer;
使用索引引用它:
twoDim[0,0] := 1;
twoDim[0,1] := 2;
三维数组只是扩展了二维,如本声明:
threeDim: array[0..9,0..9,0..9] of integer;
您也可以将它与索引一起使用,方法如下:
threeDim[0,0,0] := 1;
threeDim[9,0,1] := 12;
就所谓的个别维度而言,使用与其服务目的相关的名称。例如,如果我在一周的时间内每天保留一系列每小时读数四周,我可以将数组声明为:
Readings: array[1..4,1..7,1..24] of integer;
然后我可以声明变量来命名索引:
var
Week, Day, Hour; Integer;
然后我可以轻松地引用数组的三个维度。例如,要将它们全部初始化为零,我可以执行以下操作:
for Week := 1 to 4 do
for Day := 1 to 7 do
for Hour := 1 to 24 do
Readings[Week, Day, Hour] := 0;