欢迎来到天天文库
浏览记录
ID:25626836
大小:181.00 KB
页数:23页
时间:2018-11-21
《数据结构课程设计--数组的存储格式转换》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《数据结构》课程设计报告书题目:数组的存储格式转换专业:计算机科学与技术班级:计121学号:完成时间:一、问题描述1.1问题描述根据数组的相关知识,以行列式的方式输入矩阵,进行简单的运算,转置及求逆等过程,然后打印出该矩阵。1.2基本要求需要按要求输入矩阵,系统会自行运算,然后输出矩阵。二、概要设计进行运算开始进入程序提示输入的矩阵类型输入选择提示输入矩阵的方式输入选择输出结果操作结束一、详细设计1.1函数申明floatMatDet(float*p,intn);//求矩阵的行列式floatCreat_M(float*p,intm,intn,intk);//求矩阵元素
2、A(m,n)的代数余之式voidprint(float*p,intm,intn);//输出矩阵n*nboolGauss(float*pSrc,float*pDst,intiRow);//采用部分主元的高斯消去法求方阵A的逆矩阵BboolTransepose(float*pSrc,float*pSdst,intiRow,intiCol);//求矩阵转置boolMatMultiply(float*pSrc1,float*pSrc2,float*pDst,intiRow,intiCol);//矩阵相乘1.2主函数float*buffer,*p;//定义数组首地址指针变量i
3、ntrow,num;//定义矩阵的行数和矩阵元素个数inti,j;floatdeterm;//定义矩阵的行列式floata[N][N],b[N][N];intn;cout<<"采用逆矩阵的定义法求矩阵的逆矩阵!";cout<<"请输入矩阵的行数:";cin>>row;num=2*row*row;buffer=(float*)calloc(num,sizeof(float));//分配内存单元p=buffer;if(NULL!=p){for(i=0;i4、(j=0;j>*p++;}}}else{cout<<"Can'tdistributememory";}cout<<"Theoriginalmatrix:";print(buffer,row);//打印该矩阵determ=MatDet(buffer,row);//求整个矩阵的行列式p=buffer+row*row;if(determ!=0){cout<<"Thedeterminantofthematrixis"<5、+j*row+i)=Creat_M(buffer,i,j,row)/determ;}}cout<<"Theinversematrixis:"<>n;cout<<"请输入"<6、){for(j=0;j>a[i][j];}}//运用高斯消去法求该矩阵的逆矩阵并输出if(Gauss(a,b,n)){cout<<"该方阵的逆矩阵为:";for(i=0;i>m;cout<<"请输入方阵的列数:";cin>>n;float*a=newfloat[m*n];cout<<"请输入"<<7、m<<"*"<>a[i];}print(a,m,n);cout<<"转置矩阵:"<
4、(j=0;j>*p++;}}}else{cout<<"Can'tdistributememory";}cout<<"Theoriginalmatrix:";print(buffer,row);//打印该矩阵determ=MatDet(buffer,row);//求整个矩阵的行列式p=buffer+row*row;if(determ!=0){cout<<"Thedeterminantofthematrixis"<5、+j*row+i)=Creat_M(buffer,i,j,row)/determ;}}cout<<"Theinversematrixis:"<>n;cout<<"请输入"<6、){for(j=0;j>a[i][j];}}//运用高斯消去法求该矩阵的逆矩阵并输出if(Gauss(a,b,n)){cout<<"该方阵的逆矩阵为:";for(i=0;i>m;cout<<"请输入方阵的列数:";cin>>n;float*a=newfloat[m*n];cout<<"请输入"<<7、m<<"*"<>a[i];}print(a,m,n);cout<<"转置矩阵:"<
5、+j*row+i)=Creat_M(buffer,i,j,row)/determ;}}cout<<"Theinversematrixis:"<>n;cout<<"请输入"<6、){for(j=0;j>a[i][j];}}//运用高斯消去法求该矩阵的逆矩阵并输出if(Gauss(a,b,n)){cout<<"该方阵的逆矩阵为:";for(i=0;i>m;cout<<"请输入方阵的列数:";cin>>n;float*a=newfloat[m*n];cout<<"请输入"<<7、m<<"*"<>a[i];}print(a,m,n);cout<<"转置矩阵:"<
6、){for(j=0;j>a[i][j];}}//运用高斯消去法求该矩阵的逆矩阵并输出if(Gauss(a,b,n)){cout<<"该方阵的逆矩阵为:";for(i=0;i>m;cout<<"请输入方阵的列数:";cin>>n;float*a=newfloat[m*n];cout<<"请输入"<<
7、m<<"*"<>a[i];}print(a,m,n);cout<<"转置矩阵:"<
此文档下载收益归作者所有