lesson数据的组织结构一二维数组与排序

上传人:fgh****323 文档编号:253062656 上传时间:2024-11-28 格式:PPTX 页数:32 大小:241.92KB
返回 下载 相关 举报
lesson数据的组织结构一二维数组与排序_第1页
第1页 / 共32页
lesson数据的组织结构一二维数组与排序_第2页
第2页 / 共32页
lesson数据的组织结构一二维数组与排序_第3页
第3页 / 共32页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,电气与信息工程学院计算机系制作,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2024/11/28,Lesson 10,数据的组织结构,2024/11/28,学习目标,:,3,1,掌握二维数组的使用,2024/11/28,3,二维数组,3,数学概念矩阵:,80 70 99,97 83 92 65,91 85 88 76,例:,2024/11/28,3,二维数组,3,日常生活例子表格:,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,2024/11/28,3,二维数组,3,特点:,按行、列分布,并且每个数据需要由两个位置确定:,一个行位置,一个列位置,C,语言中实现方法:,二维数组,2024/11/28,3,二维数组,3,在,C,语言中如何实现,?,类型 数组名,行长度,列长度,int array 34,例:,float d 35;,int a66;,char s410,;,所有元素都是,int,数组名,3,行,4,列,注意:必须是常量,array,2024/11/28,3,二维数组,3,二维数组的引用,1,2,3,4,5,6,7,8,9,10,11,12,7,第,1,行,第,2,列,数组,a,a1,2,数组名,行下标,列下标,2024/11/28,3,二维数组,3,二维数组初始化:,在定义二维数组时,给元素赋初值,形式,1:int a23=1,2,3,4,5,6;,形式,2:int a23=1,2,3,4,5,6;,形式,3:int a 3=1,2,3,4,5,6;,形式,4:int a2=1,2,3,4,5,6;,错误!,2024/11/28,3,二维数组操作,4,二维数组元素的引用及基本操作,数组的赋值,for(i=0;iROWS;i+),for(j=0;jCOLS;j+),valueij=i+j;,数组的输入,for(i=0;iROWS;i+),for(j=0;jCOLS;j+),scanf(“%d”,#define ROWS 4,#define COLS 5,int value ROWSCOLS;,2024/11/28,3,二维数组操作,4,二维数组元素的引用及基本操作,3.,数组的输出,for(i=0;iROWS;i+),for(j=0;jCOLS;j+),printf(“%4d”,valueij);,putchar(n);,#define ROWS 4,#define COLS 5,int value ROWSCOLS;,2023/1/4,3,二维数组操作,4,例题:从,键,键盘输入,如,如下的矩,阵,阵,1 245,3 457,5 798,然后输出,该,该矩阵,2023/1/4,lessson11_01.c,#include,intmain(),inta34,i,j;,for(i=0;i3;i+),for(j=0;j4;j+),scanf(%d,for(i=0;i3;i+),for(j=0;j4;j+),printf(%4d,aij);,printf(n);,return 0;,2023/1/4,3,二维数组应用,5,例,6,:判断,给,给定方阵,是,是否为对,称,称矩阵。,1,10,21,88,2,10,4,13,99,25,21,13,6,14,36,88,99,14,7,123,2,25,36,123,3,2023/1/4,3,二维数组应用,5,问题分,析,析,对于一,个,个给定,的,的,N,N,矩阵,array,,如果,矩,矩阵中,的,的每个,元,元素都,满,满足,arrayij=arrayji,,则称,这,这个矩,阵,阵为对,称,称矩阵,。,。,在判断,一,一个给,定,定的矩,阵,阵是否,为,为对称,矩,矩阵时,,,,只需,要,要用下,三,三角部,分,分的每,个,个元素,与,与对应,的,的上三,角,角元素,进,进行比,较,较。如,果,果每一,对,对元素,都,都相等,,,,这个,矩,矩阵就,是,是对称,矩,矩阵,,否,否则,,就,就是非,对,对称矩,阵,阵。,2023/1/4,算法描,述,述,2023/1/4,#include,#define NUM5,矩阵行,列,列数,intmain(),intmNUMNUM;/*,定义二,维,维数组,变,变量*,/,inti,j;,/*,输入矩,阵,阵*,/,printf(Enter%drows%d colsdatasfor themaxtrix:n,NUM,NUM);,for(i=0;iNUM;i+),for(j=0;jNUM;j+),scanf(%d,/*,显示矩,阵,阵*,/,for(i=0;iNUM;i+),for(j=0;jNUM;j+),printf(%4d,mij);,printf(n);,lesson11_06_1.c,2023/1/4,/*,判断矩阵是,否,否对称并输,出,出相应的结,果,果*,/,for(i=0;iNUM;i+),for(j=0;ji;j+),if(mij!=mji),printf(nThe matrixisnt symmetrical.);,return 0;,printf(nThe matrixis symmetrical.);,return 0;,2023/1/4,3,二维数组应用,5,改进:,从文件读,入,入数组,使用标志,变,变量判断,2023/1/4,#include,#defineNUM5,矩,阵,阵,行,行,列,列,数,数,intmain(),intmNUMNUM;/*,定,义,义,二,二,维,维,数,数,组,组,变,变,量,量*,/,inti,j;,FILE*fp;,/*,输,入,入,矩,矩,阵,阵*,/,fp=fopen(m.txt,r);,for(i=0;iNUM;i+),for(j=0;jNUM;j+),fscanf(fp,%d,/*,显示矩,阵,阵*,/,for(i=0;iNUM;i+),for(j=0;jNUM;j+),printf(%4d,mij);,printf(n);,lesson11_06_2.c,2023/1/4,/*,判断矩,阵,阵是否,对,对称并,输,输出相,应,应的结,果,果*,/,for(i=0;iNUM;i+),for(j=0;ji;j+),if(mij!=mji),flag=0;,break;,if(flag=1),printf(n,对称,);,else,printf(n,不对称,);,return0;,2023/1/4,3,二维数组应用,5,例,7,:,输入,3,个同学、,4,门课程的成,绩,绩,并按照,如,如下格式输,出,出,(,成绩保存在,score.txt,文件中,),807099,97839265,91858876,2023/1/4,#include,#define STUS 3,#define LSN 4,int main(),int mSTUSLSN;/*,定义二维数,组,组变量*,/,int i,j;,FILE*fp;,fp=fopen(score.txt,r);,for(i=0;iSTUS;i+),for(j=0;jLSN;j+),fscanf(fp,%d,/*,显示矩阵*,/,for(i=0;iSTUS;i+),for(j=0;jLSN;j+),printf(%4d,mij);,printf(n);,lesson11_07.c,2023/1/4,3,二维数组应用,5,从,键,键,盘,盘,输,输,入,入,一,一,个,个,矩,矩,阵,阵,,,,,将,将,该,该,矩,矩,阵,阵,转,转,置,置,后,后,输,输,出,出,2023/1/4,分,析,析,:,:,定,义,义,一,一,个,个,2,行,4,列,的,的,二,二,维,维,数,数,组,组,a,,,用,用,于,于,存,存,放,放,原,原,始,始,的,的,矩,矩,阵,阵,定,义,义,一,一,个,个,4,行,2,列,的,的,二,二,维,维,数,数,组,组,b,,,用,用,于,于,存,存,放,放,转,转,置,置,后,后,的,的,矩,矩,阵,阵,循,环,环,数,数,组,组,a,的,所,所,有,有,元,元,素,素,,,,,将,将,a,中,的,的,每,每,一,一,个,个,元,元,素,素,存,存,放,放,至,至,b,的,对,对,应,应,位,位,置,置,:,:,行,行,列,列,位,位,置,置,正,正,好,好,相,相,反,反,输,出,出,二,二,维,维,数,数,组,组,b,2023/1/4,3,课堂练习,6,输出,如,如下,图,图形,1,6,11,16,21,2,7,12,17,22,3,8,13,18,23,4,9,14,19,24,5,10,15,20,25,2023/1/4,3,排序,7,例:假,设,设用户,通,通过键,盘,盘输入,一,一个整,型,型数列,。,。请编,写,写一个,程,程序,,将,将其按,照,照从小,到,到大的,顺,顺序重,新,新排列,。,。即,在,在从键,盘,盘输入,如,如下的,数,数据,2 681 954,输出,1 245 689,2023/1/4,3,排序,7,问题分,析,析,首先从,n,个数据,中,中选择,一,一个最,小,小的数,据,据,并,将,将它交,换,换到第,1,个位置,;,;然后,再,再从后,面,面,n-1,个数据,中,中选择,一,一个最,小,小的数,据,据,并,将,将它交,换,换到第,2,个位置,;,;以此,类,类推,,直,直至最,后,后从两,个,个数据,中,中选择,一,一个最,小,小的数,据,据,并,将,将它交,换,换到第,n-1,个位置,为,为止,,整,整个排,序,序操作,结,结束。,2023/1/4,算法描述,2023/1/4,#include,#defineNUM10/*,参与,排,排序,的,的数,据,据个,数,数*,/,intmain(),intdataNUM;/*,存放,参,参与,排,排序,的,的所,有,有整,数,数*,/,inti,j,minIndex,temp;,/*,通,过,过,键,键,盘,盘,输,输,入,入,待,待,排,排,序,序,的,的,整,整,型,型,数,数,列,列*,/,printf(nEnter%dintegers.,NUM);,for(i=0;iNUM;i+),scanf(%d,/*,显,示,示,原,原,始,始,整,整,型,型,数,数,列,列*,/,printf(n%dintegersare:,NUM);,for(i=0;iNUM;i+),printf(%5d,datai);,lesson10_01.c,2023/1/4,for(i=0;iNUM-1;i+),minIndex=i;,for(j=i+1;jNUM;j+),if(datajdataminIndex)/*,交,换,换*,temp=dataj;,dataj=dataminIndex;,dataminIndex=temp;,/*,输,出,出,排,排,序,序,后,后,的,的,结,结,果,果*,/,printf(nOrderinglistis:n);,for(i=0;iNUM;i+),printf(%5d,datai);,return0;,2023/1/4,3,课后练习,8,编,程,程,实,实,现,现,从,从,键,键,盘,盘,任,任,意,意,输,输,入,入,20,个,整,整,数,数,,,,,统,统,计,计,非,非,负,负,数,数,个,个,数,数,,,,,并,并,计,计,算,算,非,非,负,负,数,数,之,之,和,和,。,。,输,入,入,5,5,阶,的,的,矩,矩,阵,阵,,,,,编,编,程,程,实,实,现,现,:,:,(,1,),求,求,两,两,条,条,对,对,角,角,线,线,上,上,的,的,各,各,元,元,素,素,之,之,和,和,。,。,(,2,),求,求,两,两,条,条,对,对,角,角,线,线,上,上,行,行,、,、,列,列,下,下,标,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!