书签 分享 收藏 举报 版权申诉 / 22
上传文档赚钱

类型2020-2021学年信息学奥赛资料-第十四课-二维数组(适用于高中)课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4105096
  • 上传时间:2022-11-11
  • 格式:PPTX
  • 页数:22
  • 大小:110.19KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《2020-2021学年信息学奥赛资料-第十四课-二维数组(适用于高中)课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    2020 2021 学年 信息学 资料 第十四 二维 数组 适用于 高中 课件
    资源描述:

    1、2020-2021学年信息学奥赛资料-第十四课-二维数组(适用于高中)课件目目 标标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 存储回型方阵。方法、通过“一

    2、圈一圈”赋值的方法做,先给 a11 ann 全部赋值 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

    3、0;例2、杨辉三角形【输入样例】5【输出样例】11 11 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 阶奇数幻方。【输入格式

    5、】一行一个正整数 n,1n20,n 为奇数。【输出格式】共 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 行第

    6、j+1 列。但是,有两种特殊情况:如果右上方无格子,也就是越界了(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)接着填。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:2020-2021学年信息学奥赛资料-第十四课-二维数组(适用于高中)课件.pptx
    链接地址:https://www.163wenku.com/p-4105096.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库