简介。

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

在数学中,这种结构被称为矩阵。

 
Matrix 是由相同类型的元素(数字、字符串等)组成的矩形表格。< /跨度>

C#中的此类数据可以作为二维数组进行存储和处理——“数组的数组” .
要处理表格中的数据,需要记住每个单元格(cell)的状态。每个单元格都有两个数字:行号和列号。
在矩阵中,每个元素都有两个索引:首先指示行号,然后指示列号。行数和列数从零开始。
例如元素A[1, 2]就是位于第二行第三列的元素。

就像常规数组一样,为了使用矩阵,您需要学习它们创建,输入、处理和显示。

创建一个矩阵。

可以创建一个 内存矩阵一个给定的大小填充了一些初始值。

<代码>int[,] array = new int[4, 2]; // 4 行,2 列

  <分区>

创建矩阵后,您可以用任意值填充它。由于每个元素都有两个索引,所以需要使用嵌套循环

<前> for (int i=1; i <= N, i++) { / /N - 行数 for (int j=1; j <= N, j++) { // M 是列数 A[i, j] = ...   } 显示矩阵。

通常使用两个嵌套循环来处理和显示列表。第一个循环在行号上,第二个循环在行内的元素上。   要将矩阵逐行输出到屏幕上,一行内用空格分隔数字, 需要编写如下片段:
  <前> for (int i=1; i <= N, i++) { 对于 (int j=1; j <= N, j++) { Console.Write(A[i, j] + “”);   }  控制台.WriteLine(); // 移动到一个新行 }

你可以这样做,但使用列表循环而不是索引 ( foreach).尝试自己编写一个实现此功能的子例程。

用键盘输入的值填充矩阵。

让程序接收一个二维数组作为输入,形式为 < em>n 字符串,每个包含 m 由空格分隔的数字。如何计算它们?例如,像这样:

<前> int[,] array = new int[n,m]; // 创建一个数组来填充 for (int i = 0; i <  n; i++) {        string A = Console.ReadLine(); // 读取行        int[] curr = A.Split(' ').Select(int.Parse).ToArray(); // 将这个字符串转换为一维数组 curr        for (int j = 0; j < m; j++)        {            数组[i, j] = curr[j]; // 用curr数组中的值填充我们需要的数组的字符串        }

 

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