《维数组和字符串》PPT课件

《维数组和字符串》PPT课件

ID:36908110

大小:230.60 KB

页数:32页

时间:2019-05-10

《维数组和字符串》PPT课件_第1页
《维数组和字符串》PPT课件_第2页
《维数组和字符串》PPT课件_第3页
《维数组和字符串》PPT课件_第4页
《维数组和字符串》PPT课件_第5页
资源描述:

《《维数组和字符串》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二维数组和字符串二维数组二维表数表(数阵,矩阵)123456学号语文数学外语110010010021101101201.二维数组的定义:数据类型数组名[常量表达式][常量表达式]例:inta[3][4];定义了一个3*4(3行4列)的数组。注意:不能写成inta[3,4];的形式。inta[3,4];定义的是一维数组;数组的标志是[],每一个[]代表一维[0][0][0][1][0][2][0][3][1][0][1][1][1][2][1][3][2][0][2][1][2][2][2][3]C++采用这样的定义方式,使我们可以把二维数组看作是一个特殊的一维数组:它的元素又是一个一维数组

2、。(即把二维数组的每行看作一个元素)例:inta[3][4];可以把a看成一个一维数组,它有3个元素a[0]、a[1]、a[2],每个元素又是含4个元素的一维数组。见下图。a[0]---a[0][0],a[0][1],a[0][2],a[0][3]aa[1]---a[1][0],a[1][1],a[1][2],a[1][3]a[2]---a[2][0],a[2][1],a[2][2],a[2][3]此时,a[0]、a[1]、a[2]相当于3个一维数组的名字,上面定义的二维数组可以理解为定义了3个一维数组,即相当于inta[0][4],a[1][4],a[2][4];C++的这种处理方法很方

3、便,我们在后面会体会到C++语言中,二维数组中元素在计算机内存中的存放顺序是:按行存放,即先在内存中存放第一行的元素,再放第二行的元素(第一维变化慢,第二维变化快)。例:inta[3][4];二维数组a在内存中的存放顺序为a[0][0],a[0][1],a[0][2],a[0][3],[1][0],a[1][1],a[1][2],a[1][3],a[2][0],a[2][1],a[2][2],a[2][3]C++允许使用多维数组有了二维数组的基础,再掌握多维数组是不困难的。例如,三维实数数组定义为:数据类型数组名[常量表达式][常量表达式][常量表达式];doublea[2][3][4]定

4、义了三位数组,共2*3*4=24个元素。多维数组在内存中的排列顺序类似于二维数组,第一维的下标变化最慢,最右边的下标变化最快。a[0][0][0],a[0][0][1],a[0][0][2],a[0][0][3],a[0][1][0],…2二维数组元素的引用数组名[下标][下标]注意:每维下标从0开始;下标不要超过各维的大小。例:inta[3][4];第1行第2列的元素是a[0][1](也可说成第1行的第2个元素是a[0][1])a[2][3]是第3行的第4个元素a[3][3]违法3二维数组的初始化对于二维数组有下列初始化方法:(1)分行给二维数组赋初值,如:inta[3][4]={{1,

5、2,3,4},{5,6,7,8},{9,10,11,12}};这种赋值方法比较直观,把第一对括号内的数值赋给第一行的元素,第二括号内的数值赋给第二行的元素,依此类推。(2)可以将所有数据写在一个花括号内,这时,计算机自动按数组元素在内存中的排列顺序对各元素赋初值。例:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};(3)可以只对数组中部分元素初始化。如:inta[3][4]={{1},{5},{9}};此处的作用表示:a[0][0]元素被赋成1,a[1][0]元素被赋成5,a[2][0]元素被赋成9,而数组中的其他元素被初始化为0(与一维数组的初始化机制相同

6、)(4)如果对二维数组的全部元素初始化,则定义数组时第一维长度可以省略,但第二维长度不能省,如:分行进行初始化,如:inta[][4]={{0,0,3},{},{0,10}};charc[10]={‘C’,’p’,’r’,’o’,’g’,’r’,’a’,’m’,’’};4二维数组的赋值、输入、输出使用二重循环,对每个元素赋值、输入和输出:for(inti=0;i<3;i++)for(intj=0;j<4;j++)//初始化有错误吗?{cin>>a[i][j];a[i][j]*=a[i][j];cout<

7、外一个二维数组中。例如:a=123行列互换后放在数组b中,b=144562536例题2河图将1~9填到九宫格中,使得横竖斜三个方向的三个数之和均为15intmain(){for(inti=1;i<=9;i++)for(intj=1;j<=9;j++){a[1][1]=5;a[0][0]=i;a[0][1]=j;a[0][2]=15-i-j;a[2][2]=15-5-i;a[1][2]=15-a[0][2]-a[2][2]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。