Pascal 多维数组

  • 多维数组

    Pascal编程语言允许多维数组。这是多维数组声明的一般形式-
    
    type 
       array-identifier = array [index-type1, index-type2, ...] of element-type;
    var
       a1, a2, ... : array-identifier;
    
    例如,以下声明创建了三维5*10*4个整数数组-
    
    var
       threedim: array[1..5, 1..10, 1..4] of integer;
    
  • 二维数组

    多维数组的最简单形式是二维数组。本质上,二维数组是一维数组的列表。要声明大小为x,y的二维整数数组,您将编写如下内容:
    
    var
       arrayName: array[1..x, 1..y] of element-type;
    
    说明
    其中element-type可以是任何有效的Pascal数据类型,而arrayName是有效的Pascal标识符。二维数组可以可视化为一个表,该表将具有x的行数和y的列数。包含三行四列的二维数组可以显示如下-
    images
    因此,数组a中的每个元素都由形式为a [i] [j]的元素名称标识,其中a是数组的名称,而i和j是唯一标识a中每个元素的下标。
  • 初始化二维数组

    多维数组与一维数组一样,是通过赋值(指定特定的下标或使用for-do循环)进行初始化的。例如,
    
    var
       a: array [0..3, 0..3] of integer;
       i, j : integer;
    
    begin  
       for i:= 0 to 3 do  
          for j:= 0 to 3 do  
             a[i,j]:= i * j;  
       ...
    end;  
    
  • 访问二维数组元素

    通过使用下标(即数组的行索引和列索引)访问二维数组中的元素。例如-
    
    var
       val: integer;
       val := a[2, 3];
    
    上面的语句将从数组的第三行获取第4个元素。您可以在上图中进行验证。让我们检查下面的程序,其中我们使用嵌套循环来处理二维数组-
    
    program ex2dimarray;
    var 
       a: array [0..3, 0..3] of integer;
       i,j : integer;  
    
    begin  
       for i:=0 to 3 do
          for j:=0 to 3 do
             a[i,j]:= i * j;  
       
       for i:=0 to 3 do
       begin  
          for j:=0 to 3 do  
             write(a[i,j]:2,' ');  
          writeln;  
       end;  
    end.
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
    
    0 0 0 0
    0 1 2 3
    0 2 4 6
    0 3 6 9
    
    如上所述,尽管您可以具有任意数量的维度数组,但您在工作中创建的大多数数组很可能是一维或二维的。