简介 
很多时候,在处理任何信息时,您都必须处理表格数据。现代程序经常使用此类数据。最简单的例子是在棋盘上编程游戏:井字、国际象棋、西洋跳棋等。

在数学中,这种结构被称为矩阵。
 
矩阵是由相同类型的元素(数字、字符串等)组成的矩形表格.)< /div>
Pascal 中的此类数据可以存储和处理为二维数组 - “数组的数组”。
要处理表格中的数据,需要记住每个单元格(cell)的状态。每个单元格都有两个数字:行号和列号。
在矩阵中,每个元素都有两个索引:首先指示行号,然后指示列号。行数和列数从零开始。
例如元素A[1][2]就是位于第二行第三列的元素。

就像普通数组(列表)一样,为了使用矩阵,您需要学习如何创建、输入、处理和显示它们。
 
矩阵创建
任务
在内存中创建一个用零填充的给定大小的矩阵。

要正确创建矩阵,需要强制编译器将内存中的所有字符串创建为不同的对象。
为此,您必须首先创建一个空数组,然后指定矩阵中的行数,然后在循环中使用 setLength() 方法指定每行中的元素数: ñ:= 3 米:= 2 设置长度(A,N); 因为我 := 0 到 N - 1 做   setLength(A[i], M);

 

用任意值填充矩阵
创建矩阵后,您可以用任意值填充它。由于每个元素都有两个索引,所以需要使用嵌套循环 for i := 0 to N 开始 for j := 0 to M 开始 A[i][j] := ...  结尾; 结尾;  
显示矩阵

通常使用两个嵌套循环来处理和显示列表。第一个循环是按行号,第二个循环是按行内的元素。
为了 逐行显示矩阵,一行内用空格分隔数字, 需要编写如下片段:

for i := 0 to length(A) - 1 do begin // length(A) - 返回矩阵 A 中的行数     for j := 0 to length(A[i]) - 1 do // length(A[i]) - 返回字符串 i 中的元素数        写(a[i][j], ' ');    写入(); // 在显示行后换行 结尾;

相同,但不是按索引循环,而是按列表值循环(for循环可以遍历列表(数组)、字符串中的所有元素):

for row in a do begin // 遍历矩阵 a 的所有行     for elem in row do // 遍历行中的所有元素        写(元素,'');    写入(); 结束;

用键盘输入的值填充矩阵

让程序接收一个二维数组作为输入,形式为 n 行,每行包含 m 数字分隔空间。您可以像这样将此类数据保存到二维数组中:

阅读(n,米); 设置长度(a,n); for i:= 0 to n - 1 开始     setlength(a[i], m);    对于 j := 0 to m - 1 do read(a[i][j]); 结束;

矩阵的每个元素都有两个索引,因此您需要使用嵌套循环来遍历所有元素。
通常一个矩阵是逐行迭代的:外层循环遍历行索引,而内层循环遍历列索引。
但如有必要,您可以遍历矩阵和列,然后循环反转。