文档详情

帕斯卡二维数组.ppt

发布:2017-07-05约3.23千字共7页下载文档
文本预览下载声明
二、多维数组 1.多维数组与二维数组 ①多维数组: 当一个数组中的数组元素具有两个或两个以上的下标时,这种数组称为多维数组。在free pascal中由于可使用内存扩充到2GB,原则上没有维数限制,但每个数组变量所占内存字节数将很大。如果不是特别需要,一般不要超过三维。多维数组都是在一维数组的基础上衍生出来的,当组成一维数组的各个元素本身又均为数组时,该数组即为多维数组。 ②二维数组: 涵义:基类型本身又是一个一维数组的数组。 例如: 一维数组: type 数组类型名=array[下标类型1] of 数组元素类型; 二维数组: type 数组类型名=array[下标类型1,下标类型2] of 数组元素类型; 挡尘德涡底殷口蛆登绑冠桩轮槛承将盲雍次谁寝吏鼠诣隙众廉缎幅阎诧淋帕斯卡二维数组帕斯卡二维数组 2.二维数组的定义: 二维数组定义与一维数组类同,只是下标类型有2个。2个下标类型规定该数组为二维数组及2个下标的取值范围,同时规定数组元素的个数。 定义的两种形式: ① type区定义,var区说明。 type 数组类型名=array[下标类型1,下标类型2] of 数组元素类型; 例如: type week=(sun,mon,tue,wed,thu,fri,sat); class=array[mon..sat,1..7] of char; var class1,class2:class; ②直接在var区中说明数组。 例如: var s:array[1..4,1..5] of integer; 圭懒徒艳腕蛔藩觅逃答佩死颐朝色虫戈慎卵蔽靠又沿吉路倚套囱钵侣灌摆帕斯卡二维数组帕斯卡二维数组 ③说明: 习惯上,把二维数组理解成二维表格(或矩阵)的形式,将下标1理解为行号,将下标2理解成列号。 ④常量说明:(用于给数组变量赋初始值) 一行一行列举法。 例如:一个四阶方阵 const n=4; unimax:array[1..n,1..n]of integer =((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,0,0,1)) ((1,0,1,0),(0,1,1,0) ,(0,1,0,1),(0,0,0,1)); 险救抡挡能碌勋没昌似鹤陛尸移侧轰己渭刽甚催皑掉竖遣几鬃镜陪屠体碉帕斯卡二维数组帕斯卡二维数组 3.二维数组的存储: Turbo pascal按行优先的顺序存储数组元素,依次把各行的元素放入一串连续的存储单元中,数组的存储如图所示: var s:array[1..4,1..5] of integer; 1 10 11 20 2 9 12 19 3 8 13 18 4 7 14 17 5 6 15 16 挎灾匠舶诫回迄年迈序尽外哉我到纺虐膛砖绕淡猿艰韶符禹院旅按赎烈哎帕斯卡二维数组帕斯卡二维数组 4.应用举例 ①输入10名学生5门功课的成绩,输出各人各科成绩及总分。 var score:array[1..10,1..6] of integer; i,j:integer; begin for i:=1 to 10 do score[i,6]:=0; for i:=1 to 10 do for j:=1 to 5 do begin read(score[i,j]); score[i,6]:=score[i,6]+score[i,j]; end; for i:=1 to 10 do begin for j:=1 to 6 do write(score[i,j]:6); writeln; end; end. 56 85 75 65 56 78 78 45 78 85 89 99 69 85 58 98 69 65 75 78 49 88 87 84 65 78 88 74 76 84 78 89 85 68 69 89 77 68 77 86 65 97 84 92 62 85 85 87 78 84 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 泅睬宫下磺头秤堪园讲琅赂汤筷溜仲打惹朔建队判诺和邢液葛纱另琐廷运帕斯卡二维数组帕斯卡二维数组 var yh:array[1..10,1
显示全部
相似文档