第5章数组与指针 5.1数组 5.1.2二维数组 1.二维数组的定义 数据类型数组名[常量表达式[常量表达式2]; 如:inta2][3]; a[oj[o a[oJ[1 a[0J2 a[lo a[ll a[l2 二维数组在内存中按行存放。 2.二维数组的引用 引用格式:数组名[下标1[下标2 其中下标可以为整型常量或表达式
5.1 数组 5.1.2 二维数组 1. 二维数组的定义 数据类型 数组名[常量表达式1][常量表达式2]; 如: int a[2][3]; 二维数组在内存中按行存放。 2. 二维数组的引用 引用格式: 数组名[下标1][下标2] 其中下标可以为整型常量或表达式 第5章 数组与指针 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2]
第5章数组与指针 例54二维数组的引用 include <iostream.h> void maino int i,j, a[3[4] for(=0;i<3;i++) for(=0; j<4; j++) a]=(i+1)*10+ for(=0;i<3;|++) forj=0;j<4;j++) cout≤<可j<s""; 程序运行结果为 10111213 cout < endl 20212223 30313233
例5.4 二维数组的引用 #include <iostream.h> void main() { int i,j, a[3][4]; for(i=0; i<3; i++) { for(j=0; j<4; j++) { a[i][j] = (i+1)*10+j; } } for(i=0; i<3; i++) { for(j=0; j<4; j++) { cout << a[i][j] << " "; } cout << endl; } } 程序运行结果为: 10 11 12 13 20 21 22 23 30 31 32 33 第5章 数组与指针
第5章数组与指针 5.1数组 512二维数组(续) 3.二维数组的初始化 (1)分行初始化 如:inta[34]={{1,2,3,4}.{5,6,7,8}.{9,10,11,12} (2)按二维数组在内存中的排列顺序给各元素赋初值 如:inta[34]={1,2,3,45,6,7,8,9,10,1,12}; (3)对部分数组元素初始化 如:inta[34]={{1,2,3}{4,5},{6,7,8} ta34]={1,2,34,5,6,7}
5.1 数组 5.1.2 二维数组(续) 3. 二维数组的初始化 (1)分行初始化 如: int a[3][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12} }; (2)按二维数组在内存中的排列顺序给各元素赋初值 如: int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12 }; (3)对部分数组元素初始化 如: int a[3][4] = { {1,2,3},{4,5},{6,7,8} }; int a[3][4] = {1,2,3,4,5,6,7}; 第5章 数组与指针
第5章数组与指针 例5.5将两个2*3的二维数组中的对应元素的值相 加后存入第3个数组中,并输出到屏幕。 Include <iostream. h> include <iomanip. h> void maino int i,j, c[2] nta[2[3={1,2,34,56} intb[2[3={7,8,9,10,11,12} for(=0;i<2;i++) forj=0;j<3;j++) c[]=a]+bj] for(=0;i<2;i++) 程序运行结果为: for(=0; j<3; j++ 81012 cout < setw (4 )<<con 141618 cout < endl
例5.5 将两个2*3的二维数组中的对应元素的值相 加后存入第3个数组中,并输出到屏幕。 #include <iostream.h> #include <iomanip.h> void main() { int i,j,c[2][3]; int a[2][3]={1,2,3,4,5,6}; int b[2][3]={7,8,9,10,11,12}; for(i=0; i<2; i++) for(j=0; j<3; j++) c[i][j]=a[i][j]+b[i][j]; for(i=0; i<2; i++) { for(j=0; j<3; j++) cout << setw(4) << c[i][j]; cout << endl; } } 程序运行结果为: 8 10 12 14 16 18 第5章 数组与指针
第5章数组与指针 例5.6找出4*4二维数组中对角线上元素的最大值。 include <iostream.h> include <iomanip. h> void maino inta[4I[4]={1,24,53,1451,3627,18,29,1541,6223,84,7526}; int i,j, max for(i=0;i<4;i++) for(=0;j4;j++) cout≤<setw(4)≤≤ad]; cout < end: max=a[[o for(i=1;i<4;i++) 程序运行结果为: 11245314 if(a[[> max) 51362718 max =a0[: 29154162 23847526 cout<<"对角线的最大值是:"<<max 对角线的最大值是:41
例5.6 找出4*4二维数组中对角线上元素的最大值。 #include <iostream.h> #include <iomanip.h> void main() { int a[4][4] = {11,24,53,14,51,36,27,18,29,15,41,62,23,84,75,26}; int i,j,max; for(i=0; i<4; i++) { for(j=0; j<4; j++) cout << setw(4) << a[i][j]; cout << endl; } max = a[0][0]; for(i=1; i<4; i++) { if(a[i][i] > max) max = a[i][i]; } cout << "对角线的最大值是:" << max; } 程序运行结果为: 11 24 53 14 51 36 27 18 29 15 41 62 23 84 75 26 对角线的最大值是:41 第5章 数组与指针