第69课 二维矩阵
二维矩阵(二维数组)
什么是九宫数独呢,它有什么规则呢?
水平方向分为九横行,竖直方向分为九纵列,将整个盘面分成为81个小方格。要求每横行九个格子中,包含1~9九个数字;每纵列九个格子中,包含1~9九个数字;每个小九宫格的九个格子中,也必须包含1~9九个数字。
这是二维数组
声明(即定义)一个二维数组,并将它输出。

运行程序:
一维数组配套一层循环,二维数组配套两层循环。
●当循环i=0时,输出了二维数组第一行。
●当循环i=1时,输出了二维数组第二行。
●当循环i=2时,输出了二维数组第三行。
●内循环j表示第几列,下标都是从0开始。
划重点——声明二维数组
(1)数据类型数组名[行数][列数]→int arr[9][8]
(2)数据类型数组名[行数][列数]={{数据1,数据2…},{数据a,数据b…}}
(3)数据类型数组名[行数][列数]={数据1,数据2,数据3,数据4…}
尝试各种声明数组的方法,看看有什么不一样。
任务来了,用1~9九个数字输入一个九宫格数组,使得数组横竖和斜线之和都相等。

运行程序:
输入完成!
同样使用了两层循环:
(1)外层循环先确定行。
for(int i=0;i<3;i++){
(2)内层循环在确定列。
for(int j=0;j<3;j++){
(3)最后确定九宫格的格子。
arr[i][j]
敲黑板
一维数组像这样:

二维数组像这样:
巩固练习
(1)在C++中,如何访问一个二维数组的第4行第5列元素?()
A.arr(3, 4);
B.arr[3, 4];
C.arr[3][4];
D.arr(3)(4);
(2)在C++中,如何创建一个3x3的单位矩阵(对角线元素为1,其余为0)?()
A.int arr[3][3]={{1, 0, 0},{0, 1, 0},{0, 1, 0}; B.int arr[3][3]={1, 0, 0, 0, 1, 0, 0, 0, 1}; C.int arr[3][3];
D.int arr[3][3]={0, 1, 0, 0, 1, 0, 0, 1, 0};(3)编写一个C++程序,分别输入班级中所有同学的数学、语文、英语的成绩,计算并输出班级的
数学、语文、英语的平均分。
①第一行输入班级人数。
②然后按照如下格式输入成绩。

样例输入:
样例输出:

