二维数组和字符串.ppt
《二维数组和字符串.ppt》由会员分享,可在线阅读,更多相关《二维数组和字符串.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二维数组和字符串二维数组二维数组二维表 数表(数阵,矩阵)1 2 3 4 5 6学号 语文 数学 外语110010010021101101201.二维数组的定义二维数组的定义:数据类型 数组名常量表达式常量表达式 例:int a34;定义了一个3*4(3行4列)的数组。注意注意:不能写成 int a3,4;的形式。int a3,4;定义的是一维数组;数组的标志是,每一个代表一维000102031011121320212223C+采用这样的定义方式,使我们可以把二维数组看作是一个特殊的采用这样的定义方式,使我们可以把二维数组看作是一个特殊的一维数组:它的元素又是一个一维数组一维数组:它的元素又是
2、一个一维数组。(即即把二维数组的每行看作一个元素)例例:int a34;可以把a看成一个一维数组,它有3个元素a0、a1、a2,每个元素又是含4个元素的一维数组。见下图。a0 -a00,a01,a02,a03a a1 -a10,a11,a12,a13 a2 -a20,a21,a22,a23 此时,a0、a1、a2相当于3个一维数组的名字,上面定义的二维数组可以理解为定义了3个一维数组,即相当于 int a0 4,a1 4,a2 4;C+的这种处理方法很方便,我们在后面会体会到 C+语言中,二维数组中元素在计算机内存语言中,二维数组中元素在计算机内存中的存放顺序是:按行存放,即先在内存中的存放顺
3、序是:按行存放,即先在内存中存放第一行的元素,再放第二行的元素中存放第一行的元素,再放第二行的元素(第一维变化慢,第二维变化快第一维变化慢,第二维变化快)。例:int a34;二维数组a在内存中的存放顺序为a00,a01,a02,a03,10,a11,a12,a13,a20,a21,a22,a23C+允许使用多维数组允许使用多维数组 有了二维数组的基础,再掌握多维数组是不困难的。例如,三维实数数组定义为:数据类型 数组名常量表达式常量表达式常量表达式;double a234 定义了三位数组,共2*3*4=24个元素。多维数组在内存中的排列顺序类似于二维数组,第一维的下标变化最慢,最右边的下标变
4、化最快。a000,a001,a002,a003,a010,2 二维数组元素的引用二维数组元素的引用 数组名下标下标注意:注意:每维下标从0开始;下标不要超过各维的大小。例:int a34;第1行第2列的元素是a01 (也可说成第1行的第2个元素是a01)a23是第3行的第4个元素 a33违法3 二维数组的初始化二维数组的初始化 对于二维数组有下列初始化方法:(1)分行给二维数组赋初值,如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;这种赋值方法比较直观,把第一对括号内的数值赋给第一行的元素,第二括号内的数值赋给第二行的元素,依此类推。(2)可以将所有数据写在一个花括号
5、内,这时,计算机自动按数组元素在内存中的排列顺序对各元素赋初值。例:int a34=1,2,3,4,5,6,7,8,9,10,11,12;(3)可以只对数组中部分元素初始化。如:int a34=1,5,9;此处的作用表示:a00元素被赋成1,a10元素被赋成5,a20元素被赋成9,而而数数组组中中的的其其他他元元素素被初始化为被初始化为0(与一维数组的初始化机制相同)(与一维数组的初始化机制相同)(4)如果对二维数组的全部元素初始化,则定义数组时第一维长度可以省略,但第二维长度不能省,如:分行进行初始化,如:int a4=0,0,3,0,10;char c10=C,p,r,o,g,r,a,m,
6、0;4 二维数组的赋值、输入、输出二维数组的赋值、输入、输出 使用二重循环使用二重循环,对每个元素赋值、输入和输出:对每个元素赋值、输入和输出:for(int i=0;i3;i+)for(int j=0;jaij;aij*=ai j;coutaijendl;例题1 矩阵的行列互换 将一个二维数组的行列互换,存到另外一个二维数组中。例如:a=1 2 3 行列互换后放在数组b中,b=1 4 4 5 6 2 5 3 6例题2 河图 将19填到九宫格中,使得横竖斜三个方向的三个数之和均为15int main()for(int i=1;i=9;i+)for(int j=1;j=9;j+)a11=5;a0
7、0=i;a01=j;a02=15-i-j;a22=15-5-i;a12=15-a02-a22;a10=15-5-a12;a20=15-i-a10;a21=15-a20-a22;if(check()print();return 0;5int check()int flag10=0,0,0,0,0,0,0,0,0,0;for(int i=0;i3;i+)for(int j=0;j0)&!flagaij)flagaij=1;else return 0;return 1;1.用一维数组名作函数参数 可以用数组名做函数参数,此时形参与实参都是数组名(也可用指针)。例:用选择法对数组中的元素排序数组名作为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 数组 字符串
限制150内