二维数组
二维数组是一个有两个索引的数组每个元素(通常这样的数组被称为一个词 - matrix)。
以矩阵形式存储和处理各种表格数据非常方便。就像任何表格都是由行和列组成的一样,矩阵也是由行和列组成的。
为了清楚起见,您可以这样表示一个数组:
虽然,事实上,在计算机的内存中,矩阵看起来是这样的:
要在程序中使用矩阵,必须像常规数组一样声明它,指定数据类型和两个大小(数字或常量)。也可以(并且希望)立即设置初始值。例如,重置所有元素。
示例 1: 声明具有任意初始值的 3 行 3 列的数组
<前>
intA[3][3] = {{0,1,2},
{3,4,5},
{6,7,8} };
示例 2: 声明一个 5 行 10 列的数组(大小通过常量设置),初始值为零
<前>
const int N = 5, M = 10;
双 B[N][M] = {};
为了引用矩阵的特定元素,我们使用两对括号,在第一个括号中我们指示行号,在第二个中指示列号。
例子:
<前>
A[0][2] = 100; //行数和列数从零开始
填充矩阵并显示
为了遍历整个矩阵,需要嵌套循环。让我们使用从键盘请求元素值并在屏幕上简单显示填充矩阵的程序示例来查看填充和输出矩阵。
<前>
#include
;
使用命名空间标准;
诠释主要(){
/* 声明一个二维数组 */
常量 N = 2, M = 3;
int A[N][M];
/* 从键盘逐行填充矩阵的元素 */
诠释我,j;
对于 (i = 0; i < N; i++)
对于 (j = 0; j < M; j++)
辛>> A[i][j];
//在屏幕上逐行显示矩阵的所有元素
for (i = 0; i < N; i++) { //外层循环负责遍历行
for (j = 0; j < M; j++) //循环显示字符串的元素
输出 << A[i][j] << “ ";
输出 <<结束; //显示完第j行的元素后,我们换行
}
返回 0;
}
在上面的示例中,矩阵的填充和显示都是逐行发生的(首先我们遍历所有值j - 列的索引,然后行索引才发生变化 - 我)
通过交换循环(内部与外部),您可以按列填充和/或输出数组