三维阵列显示表

时间:2014-03-29 16:45:14

标签: pascal

我知道两个维度数组在pascal,[rows,columns]中是如何工作的。

三个或更多维度如何运作?请帮助,谢谢。

a [行,列,???]

1 个答案:

答案 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;