ImageVerifierCode 换一换
格式:PPTX , 页数:21 ,大小:287.25KB ,
文档编号:4104730      下载积分:22 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4104730.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(20202021学年信息学奥赛第十四课二维数组(适用于高中)课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

20202021学年信息学奥赛第十四课二维数组(适用于高中)课件.pptx

1、第十四课 二组数组 目目 标标1.二维数组的定义和初始化 在二维数组定义的同时,可以进行初始化赋值。例如:int a23=1,2,3,4,5,6;/分行初始化 也可以给数组中的部分元素初始化。例如:int a23=1,2,4;第一行只有2个初值,按顺序分别赋值给a00和a01,第二行的初值4赋给a10,其它元素默认为0。2.二维数组的存储及元素引用例1、回型方阵【输入样例】5【输出样例】1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1【问题分析】定义一个二维数组 ann 存储回型方阵。方法、通过“一圈一圈”赋值的方法做,先给 a11 ann 全部赋值

2、1,然后给 a22 an-1n-1 全部赋值 2,共 n/2 圈(如果 n 是奇数,则最后一圈就是一个数)。#includeusing namespace std;int n,i,j,k,mi,ma,a1010;int main()cin n;for(i=1;i=(n+1)/2;i+)for(j=1;j=(n+1)/2;j+)aij=min(i,j);ain+1-j=an+1-ij=an+1-in+1-j=aij;for(i=1;i=n;i+)for(j=1;j=n-1;j+)cout aij “;cout ain endl;return 0;例2、杨辉三角形【输入样例】5【输出样例】11 1

3、1 2 11 3 3 11 4 6 4 1【问题分析】定义一个二维数组 tri 存储杨辉三角形(其实只用到二维数组的左下部分)。对于第 i 行(1in),共有 i 个数,其中第一个数和最后一个数都是 1,其他数 triij=trii-1j-1+trii-1j。具体实现,采用“递推法”,逐行逐列给每个数组元素赋值。参考程序见教材171页。例2、数字三角形【问题分析】定义二维数组 a 存储所求的数字三角形,初始化为 0。对于右上角的每一个元素 aij,分析发现:aij=j-i+1。具体实现采用“赋值法”。数字方阵数字方阵就是一个行列数相等的二维数组,其中的每个元素都是数字。解决数字方阵问题,一般有

4、两种方法:解析法和模拟法。解析法就是找出每一个方阵元素 f ij 与 i、j 和数组规模n的通项公式,然后直接用两重循环给数组元素赋值,相对比较容易,一般用在初始化等场合。模拟法就是把数字方阵看成一个动态的填数过程,把 n2 个数依次填入数组中,每填好一个数,就定位好下一个数的位置 i 和 j。例3、n 阶奇数幻方【问题描述】行列数相等的矩阵称为方阵。把正整数 1n 2(n 为奇数)排成一个 nn 方阵,使得方阵中的每一行、每一列以及两条对角线上的数之和都相等,这样的方阵称为“n 阶奇数幻方”。编程输入 n,输出 n 阶奇数幻方。【输入格式】一行一个正整数 n,1n20,n 为奇数。【输出格式

5、】共 n 行,每行 n 个正整数,每个正整数占 5 列。【输入样例】5【输出样例】17 24 1 8 1523 5 7 14 16 4 6 13 20 2210 12 19 21 311 18 25 2 9【问题分析】定义一个二维数组模拟填数的过程。分析样例发现,n 阶奇数幻方可以按下列方法生成:先把数字 1 填在第 1 行的正中间 a1n/2+1,然后用一个循环穷举 k,填入数字 2 n2,每次先找位置再填数,找位置的规律如下:如果数 k 填在第 i 行第 j 列,那么一般情况下,下一个数 k+1 应该填在它的右上方,即第 i-1 行第 j+1 列。但是,有两种特殊情况:如果右上方无格子,也

6、就是越界了(i-1=0 或 j+1=n+1),那么就应该把下一个数放到第 n 行或者第 1 列;如果右上方已经有数了(aij 不等于初值),那么下一个数 k+1 就应该填在第 k 个数的正下方。作业:螺旋方阵【问题描述】一个 n 行 n 列的螺旋方阵按如下方法生成:从方阵的左上角(第 1 行第 1 列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进;否则,右转。重复上述操作直至经过方阵中所有格子。根据经过顺序,在格子中依次填入 1,2,3,n,便构成了一个螺旋方阵。下面是一个 n=4 的螺旋方阵。【问题分析】定义一个二维数组模拟填数的过程。根据题意,设置一个变量 d 用来表示填数的方向,d=04,依次表示向右、向下、向左、向上填数。再定义两个常量数组,表示各个方向上前进一步带来的行、列坐标的变化值。把数字 1 填在第 1 行第 1 列,然后向右填数字 2,填到不能填的位置(越界或者已经填了数),就换个方向(+d%4)接着填。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|