




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多维数组一、多维数组的定义当一维数组元素的类型也是一维数组时,便构成了二维数组。二维数组定义的一般格式:array[下标类型1]ofarray[下标类型2]of元素类型;但我们一般这样定义二维数组:
array[下标类型1,下标类型2]of元素类型;说明:其中两个下标类型与一维数组定义一样,可以看成“下界1..上界1”和“下界2..上界2”,给出二维数组中每个元素(双下标变量)可以使用下标值的范围。of后面的元素类型就是基类型。一般地,n维数组的格式为:
array[下标类型1,下标类型2,…,下标类型n]of元素类型;其中,下标类型的个数即数组的维数,且说明了每个下标的类型及取值范围。例如:
typemat=array[1..5,1..10]ofrealvara,b:mat;vara,b:array[1..5,1..10]ofreal二、多维数组元素的引用多维数组的数组元素引用与一维数组元素引用类似,区别在于多维数组元素的引用必须给出多个下标。引用的格式为:
<数组名>[下标1,下标2,…,下标n]
说明:显然,每个下标表达式的类型应与对应的下标类型一致,且取值不超出下标类型所指定的范围。例如,设有说明:typematrix=array[1..5,1..4]ofinteger;vara:matrix;vara:array[1..5,1..4]ofinteger;
则表示a是二维数组,共有5*4=20个元素,它们是:vara:array[1..5,1..4]ofinteger;a[1,1]a[1,2]a[1,3]a[1,4]
a[2,1]a[2,2]a[2,3]a[2,4]
a[3,1]a[3,2]a[3,3]a[3,4]
a[4,1]a[4,2]a[4,3]a[4,4]
a[5,1]a[5,2]a[5,3]a[5,4]
因此a[,]
可以看成一个矩阵,a[4,2]即表示第4行、第2列的元素。由于计算机的存储器是一维的,要把二维数组的元素存放到存储器中,pascal是按行(第一个下标)的次序存放,即按a[1,1]a[1,2]a[1,3]a[1,4]a[2,1]…,a[5,4]的次序存放于存储器中某一组连续的存储单元之内。
对于整个二维数组的元素引用时,大多采用二重循环来实现。如:给上面说明的二维数组a:array[1..5,1..4]ofinteger;进行赋值:a[i,j]=i*j。
它的赋值语句:
fori:=1to5doforj:=1to4doa[i,j]:=i*j;
12342345466889121216201510对二维数组的输入与输出也同样可用二重循环来实现:fori:=1to5dobeginforj:=1to4doread(a[i,j]);readln;end;fori:=1to5dobeginforj:=1to4dowrite(a[i,j]:5);writeln;end;输入一个二维数组输出一个二维数组例1、输入4名学生数学、物理、英语、化学、pascal五门课的考试成绩,求出每名学生的平均分,打印出表格。输出:
No.Mat.Phy.Eng.Che.Pas.Tot.Ave.1808080808040080……………………分析:用二维数组a存放所给数据,第一下标表示学生的学号,第二个下标表示该学生某科成绩,如a[i,1]、a[i,2]、a[i,3]、a[i,4]、a[i,5]分别存放第i号学生数学、物理、英语、化学、pascal五门课的考试成绩,由于要求每个学生的总分和平均分,
所以第二下标可多两列,分别存放每个学生5门成绩和总分、平均分。
程序实现步骤:1、{读入每个人5科成绩}2、{读每科成绩时同时统计总分}3、{求平均分}4、{输出成绩表}programchj;
vara:array[1..4,1..7]ofreal;i,j:integer;beginfori:=1to4doforj:=1to7doa[i,j]:=0;{将a中所有元素置为0}writeln('Enter4studentsscore');fori:=1to4dobeginforj:=1to5do{读入每个人5科成绩}beginread(a[i,j]);a[i,6]:=a[i,6]+a[i,j];{读每科成绩时同时统计总分}end;readln;a[i,7]:=a[i,6]/5{求平均分}end;writeln('No.Mat.Phy.Eng.Che.Pas.Tot.Ave.');{输出成绩表}fori:=1to4dobeginwrite(i:2,'');forj:=1to7dowrite(a[i,j]:9:2);writeln;end;end.练习:1、
输入N个同学的语、数、英三科成绩,计算他们的总分与平均分,并统计出每个同学的名次,最后以表格的形式输出。
2、
输出杨辉三角的前N行(N<10)。
11
11
2
11
3
3
11
4
6
4
13、输入一串字符,字符个数不超过100,且以“?”结束。判断它们是否构成回文。
提示:所谓回文指从左到右和从右到左读一串字符的值是一样的,如12321,ABCBA,AA等。先读入要判断的一串字符(放入数组letter中),并记住这串字符的长度,然后首尾字符比较,并不断向中间靠拢,就可以判断出是否为回文。4、输入x,y的值,计算、输出并保存全部f的值。已知:
2*xi*yifi,j=
xi+yi
xi=1.2,2.7,3.4,4.1,5.9yi=1.1,2.2,3.4,4.7,5.6,6.4,7.8,8.3,9.2,10.75、求一个3*3的矩阵的对角线元素之和。
123即例子中1+5+9的和
4567896、输入一个3*3的矩阵,编程将矩阵转置。提示:转置,即将行变成列,列变成行。
123125234236567347转置7、思考题:奇数阶魔阵
魔方阵是用自然数1,2,3…,n2填n阶方阵的各个元素位置,使方阵的每行的元素之和、每列元素之和及主对角线元素之和均相等。奇数阶魔阵3阶:816357492奇数阶魔阵魔方阵中各数的排列规律如下:(1)将1放在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川文化产业职业学院《营销实训》2023-2024学年第二学期期末试卷
- 天津工程职业技术学院《物联网导论》2023-2024学年第二学期期末试卷
- 山东中医药高等专科学校《教师课堂教学艺术》2023-2024学年第二学期期末试卷
- 无锡市崇安区达标名校2025届初三下学期期初检测试题含解析
- 四川省德阳市什邡中学2025年高三模拟试题(三)化学试题试卷含解析
- 沈阳科技学院《西方画论》2023-2024学年第二学期期末试卷
- 江西理工大学《欧美设计规范释义一双语》2023-2024学年第二学期期末试卷
- 模电 9-功率放大电路学习资料
- 西安医学高等专科学校《医学科学研究导论》2023-2024学年第二学期期末试卷
- 单位使用个人车辆协议书二零二五年
- 22G101基础平法识图与钢筋计算
- 2024年专升本考试-专升本考试(机械设计基础)笔试历年真题荟萃含答案
- 对中标候选人的异议书
- 2024年北京市自来水集团长辛店分公司招聘笔试参考题库含答案解析
- -医院感染预防与控制标准操作规程SOP第2版
- 老人疫苗接种健康知识讲座
- 慢性阻塞性肺疾病的常见病例分析
- 2024年同等学力申硕-同等学力(政治学)历年高频考点试卷专家荟萃含答案
- 文学作品中的意象与象征解读
- 2021年内痔内镜下微创诊疗指南解读讲座课件
- 感染科业务培训计划
评论
0/150
提交评论