Pascal语言(二维数组).ppt

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

**二、多维数组1.多维数组与二维数组①多维数组:当一个数组中的数组元素具有两个或两个以上的下标时,这种数组称为多维数组。在说明多维数组时,虽然在turbopascal允许至多定义255维数组,但不要随意扩大维数,而在freepascal中由于可使用内存扩充到2GB,原则上没有维数限制,但每个数组变量所占内存字节数将很大。如果不是特别需要,一般不要超过三维。多维数组都是在一维数组的基础上衍生出来的,当组成一维数组的各个元素本身又均为数组时,该数组即为多维数组。②二维数组:涵义:基类型本身又是一个一维数组的数组。例如:一维数组:type数组类型名=array[下标类型1]of数组元素类型;二维数组:type数组类型名=array[下标类型1]ofarray[下标类型2]of数组元素类型;2.二维数组的定义:二维数组定义与一维数组类同,只是下标类型有2个。2个下标类型规定该数组为二维数组及2个下标的取值范围,同时规定数组元素的个数。定义的两种形式:①type区定义,var区说明。type数组类型名=array[下标类型1,下标类型2]of数组元素类型;例如:typeweek=(sun,mon,tue,wed,thu,fri,sat);class=array[mon..sat,1..7]ofchar;varclass1,class2:class;②直接在var区中说明数组。例如:vars:array[1..4,1..5]ofinteger;③说明:习惯上,把二维数组理解成二维表格(或矩阵)的形式,将下标1理解为行号,将下标2理解成列号。④常量说明:(用于给数组变量赋初始值)一行一行列举法。例如:一个四阶方阵constn=4;unimax:array[1..n,1..n]ofinteger=((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1));3.二维数组的存储:Turbopascal按行优先的顺序存储数组元素,依次把各行的元素放入一串连续的存储单元中,数组的存储如图所示:【例6】设数组s[1..4,1..5]以行优先的方式顺序存储,每个元素占2个字节,且已知s[1,1]的地址为1000,则s[3,4]的地址是____。思路:s[3,4]的地址由3部分相加而成,分别为首元素地址、s[3,4]所在行至第一行的行数乘以每行元素数与每元素所占字节之积、s[3,4]在本列中的位置与每元素所占字节之积。即:1000+(3-1)*(5-1+1)*2+(4-1)*2=1026vars:array[1..4,1..5]ofinteger;4.应用举例①输入10名学生5门功课的成绩,输出各人各科成绩及总分。varscore:array[1..10,1..6]ofinteger;i,j:integer;beginfori:=1to10doscore[i,6]:=0;fori:=1to10doforj:=1to5dobeginread(score[i,j]);score[i,6]:=score[i,6]+score[i,j];end;fori:=1to10dobeginforj:=1to6dowrite(score[i,j]:6);writeln;end;end.54321654321varyh:array[1..10,1..10]ofinteger;i,j:integerbeginyh[1,1]:=1;fori:=2to10dobeginyh[i,1]:=1;yh[i,i]:=1;forj:=2toi-1doyh[i,j]:=yh[i-1,j-1]+yh[i-1,j];end;fori:=1to10do

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档