目录。实验目的 2
功能描述 2
输入描述 2
输出描述: 2
程序分析 2
基本操作 2
主要算法分析 2
矩阵的构建 2
矩阵的加法 3
矩阵的减法 3
矩阵的乘法 4
算法的选择 5
程序运行过程 5
软件启动界面 5
加法运算 6
乘法运算 7
实验总结 8
用户手册 8
运行平台 8
系统要求 8
编译平台 8
使用方法 8
附录 9功能描述:根据用户输入的矩阵进行矩阵的加、减、乘法运算。
输入描述:根据程序的提示进行矩阵运算的选择和矩阵的输入。
输出描述:在显示屏上输出运算结果。
基本操作:构造一个空的二维数组用于存储矩阵。
addition()实现两个等行等列的矩阵的加法运算
subtraction()实现两个等行等列的矩阵的减法运算。
multiplication()实现两个任意矩阵的乘法运算。
main()主函数。
矩阵的构建:int a1,b1,a2,b2;
double **x1,**x2;
cout<<"输入第一个行数,列数:";
cin>>a1>>b1;
cout<<"输入第二个行数,列数:";
cin>>a2>>b2;
if(a1!=a2 ||b1 !=b2)
cout<<"无法相加!"<
分配地址空间。
x1=new double *[a1]; x1[动态分配指针数组。
for(int i=0;ix1[i]=new double [b1]; 为x1的每个元素动态分配数组空间。
cout<<"输入第一个矩阵:";
for(int i=0;ifor(int j=0;jcin>>x1[i][j];
分配地址空间。
x2=new double *[a2]; x2[
for(int i=0;ix2[i]=new double[b2];
cout<<"输入第二个矩阵:";
for(int i=0;ifor(int j=0;jcin>>x2[i][j];
cout<<"相加后:"<矩阵的加法:for(int i=0;i
cout<}
/释放。for(int i=0;i
cout<}
for(int i=0;i
x1=new double *[a1]; x1[
for(int i=0;ix1[i]=new double[b1];
cout<<"输入第一个矩阵:";
for(int i=0;ifor(int j=0;jcin>>x1[i][j];
x2=new double *[a2]; x2[
for(int i=0;ix2[i]=new double[b2];
cout<<"输入第二个矩阵:";
for(int i=0;ifor(int j=0;jcin>>x2[i][j];
cout<<"相乘后:"<相乘运算。
double **r=new double *[a1];
for(int i=0;ir[i]=new double[b2];
for(int q=0;qfor(int w=0;w
cout<}
for(int i=0;i
错误的使用。
1. 本次作业不是很难,总共就只有3个函数分别对应实现一种矩阵的运算。结构不是很复杂,所以调试的时候遇到的问题不是很多,但由于if和for语句比较多,而且自身没有一个良好的编程习惯,中途不少错误是缺少大括号引起的,烦了不该犯的多余的低级错误。
今后的作业中,编程一定得细心,调试得要有耐心。
2. 在这次作业中,学习到了借助debug调试器和数据观察窗口,可以加快找到程序的瑕疵,从而快速的修改错误。
运行平台:dos平台。
系统要求:xp、windows7、windows8
编译平台:windows8
使用方法:1.双击生成的文件,从而进入软件界面。
2.根据软件的提醒选择需要进行的运算。
3.倘若选择加(减)法,若两个矩阵的行、列数不相等的话,软件会报错。
4.注意输入矩阵的每一个成员是要以空格(space)键隔开。
5.依次输入完两个矩阵成员后,按下回车键,结果将出现显示屏。
附录:#include <>
/矩阵加法。
void addition()
int a1,b1,a2,b2;
double **x1,**x2;
cout<<"输入第一个行数,列数:";
cin>>a1>>b1;
cout<<"输入第二个行数,列数:";
cin>>a2>>b2;
if(a1!=a2 ||b1 !=b2)
cout<<"无法相加!"<
/分配地址空间。
x1=new double *[a1]; x1[动态分配指针数组。
for(int i=0;ix1[i]=new double [b1]; 为x1的每个元素动态分配数组空间。
cout<<"输入第一个矩阵:";
for(int i=0;i 特殊矩阵运算。1.1程序功能简介。对特殊矩阵能够在界面上以人们熟悉的方式显示,可以对特殊矩阵进行加法运算和减法运算,矩阵转置。按照要求使用了多种数据结构来求解问题,具体为二维数组和类似图的数据结构。由于题目要求使用多种数据结构,因此分开写了两段程序,均实现了上述要求的功能,以下将分开说明。先说明的是... 第11周星期三 节 一 实验目的。1 掌握下三角矩阵的输入 输出 转置算法。2 理解稀疏矩阵的三元组表类型定义,掌握稀疏矩阵的输入 输出 转置算法。二 实验要求。1 认真阅读和掌握本实验的算法思想。2 编写完整程序完成下面的实验内容并上机运行。三 实验内容。1 所谓上 下 三角矩阵是指矩阵的下 上 ... 实验一线性表及其应用。实验属性 验证性。实验目的 1.深入了解线性表的各种存储结构。2.熟练掌握在各种存储结构上进行插入 删除等操作的算法。3.通过线性表结构解决现实中的一些问题。实验内容 1.顺序表就地逆置。2.单链表就地逆置。3.一元多项式的表示及相加。参考教材第39页2.4节 以上3个题目选择...数据结构课程设计特殊矩阵运算
数据结构实验四 矩阵的压缩存储 题目和源程序
《数据结构》实验安排