《C语言程序设计教程 (第2版).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程 (第2版).ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Java程序设计,杨圣洪13007432216 ( since 1998.12)群号:220436907QQ: 请访问,第5讲 数组-二维数组,1、二维数组是什么?2、如何建立二维数组?如何给数组赋值3、如何使用二维数组?把玩一下数据,输出每个元素,输出下三角,上三角,四周的元素4、解决实际问题:线性方程组求解,第1讲 数组-一维数组,【例1】 线性方程组的系数:array21.c,double a 33 =1,1,1,0,4,-1,2,-2,1; 一定要黑板上画出各元素的位置编号图输出整个数组,下三角,上三角在输出整个数组上修改成输下三角,上三角在输出程序的框架上,修改成所有元素翻番,主
2、对角翻番,反对角翻翻,首行翻,末行翻,首列翻,四周翻番,,第1讲 数组-一维数组,第1讲 数组-一维数组,第1讲 数组-一维数组,【例1】 线性方程组的系数:array21.c,double a 33 =1,1,1,0,4,-1,2,-2,1; 在输出程序的框架上,修改成所有元素翻番,主对角翻番,反对角翻翻,首行翻,末行翻,首列翻,四周翻番,,第1讲 数组-一维数组,主对角:if (i=j).反对角:if(i+j=n-1).两对角:if (i=j)|(i+j=n-1)非两对角:,第1讲 数组-一维数组,0行:a0j=2*a0j; j=0n-1最后行:an-1j=2*an-1j; j=0n-10
3、列:aj0=2*aj0; j=0n-1最后列:ajn-1=2*ajn-1; j=0n-10行与最后行:同时写上0列与最后列:同时写上四周:四句同写,但四角的元素翻4番处理:四角元素缩小(/2) 或先0行与最后行, 0列与最后列时for(j=1;j=n-2;j+),第1讲 数组-一维数组,【例2】 二维数组各元素的地址与指针:array21a.c,double a 33 =1,1,1,0,4,-1,2,-2,1; 问题1:显示每个元素的地址行0依次存放,再行1依次存放,再行2,. 整个数组的地址是连续的,知道首地址可顺藤摸瓜,第1讲 数组-一维数组,ap=a, ap=a0 ap=&a00*(a+
4、i)不可以*(ap+i)才可以顺藤摸出每个元素,共n*n,第1讲 数组-一维数组,a0,a1,a2按行号i,列号j来顺藤摸瓜“一维”每行n个,aij是第(i*n+j)个所以:若每行个数n不知则算不出一维中的序号,这就是列数必常量原因,第1讲 数组-一维数组,【例2】 验证方程的解与矩阵运算:array22.c,double a34 =1,1,1,0,4,-1,2,-2,1;double b =6,5,1;double x =1,2,3; /二维数组常见的计算AX=?b,第1讲 数组-一维数组,【例3】两个矩阵相乘:array23.c,double a =1,1,1,6,0,4,-1,5,2,-2,1,1;double b =1,2,3,1,1,1,2,1,2,2,1,2,1,1,0, 1,0,1,1,2;double c35;先写出计算公式,再编程实现cij=ai0*b0j+ai1*b1j+aicola-1*bcola-1j,【例4】 输入线性方程组的系数:arrayb4.java,double a=1,1,1,6,0,4,-1,5,2,-2,1,1;double x=new double3;加减消元法求解方程组先写出计算公式,再编程实现t=ai0/a00ai0=ai0-t*a00;aim-1=aim-1-t*a0m-1,