1、南京理工大学 C+C+课程设计实验课程设计实验 姓名姓名 薛蓉娟 学号学号 06 班级班级 05115901 任课教师任课教师 肖亮 时间时间 06.9 教师指定题目教师指定题目 矩阵转置与乘法计算 评定难易级别评定难易级别 A 实验报告成绩实验报告成绩 1 1.实验内容实验内容:矩阵转置与乘法计算 1.11.1 程序功能简介程序功能简介 该程序定义了一个向量类,里面的形式是模板形式,定义了有关向量类的各种属性、方法及运算符重载 函数。 1.21.2 程序设计要求程序设计要求 (1) 利用已知的向量类对象定义一个矩阵类,矩阵类的数据是向量子对象,同样定义矩阵类的各种属 性、方法及运算符重载函数
2、。 (2) 完善成员函数,使矩阵可以由文件输入,具体的输入格式自己规定。 (3) 完成矩阵的赋值、转置、乘法等运算,要求用整型矩阵和浮点型矩阵分别演算。 (4) 更改 main 函数结构, 可由用户选择输入矩阵数据的方法, 程序可以连续运行, 直到选择退出为止。 2.2. 源程序结构流程框图与说明源程序结构流程框图与说明( (含新增子函数的结构框图含新增子函数的结构框图) ) 开始:主菜单 整数 浮点数 选择输入方式 键盘输入 文件输入 输入两矩阵,选择所 需进行的运算。 矩阵转置 输入需要转置的矩阵 矩阵乘法 继续 退出 结束 南京理工大学 3. 3. 基本数据结构基本数据结构 templa
3、te class Cmatrix/*定义矩阵类 protected: struct mrep Vector *f;/组成矩阵的向量指针 int refcnt;/被引用次数 int length;/矩阵的行数 T *tmppointer; *p; public: / Vector * begin()return p-f; Vector * begin() const return p-f; CMatrix();/*默认的构造 CMatrix(int xsize,int ysize,T init=0);/*构造函数 CMatrix(int xlength,const Vector *vec);/*构造函数 CMatrix(CMatrix /*拷贝构造函数 CMatrix(); /*析构函数 CMatrix /*重载赋值运算符矩阵赋矩阵 int row() const;/*返回行数 int col() const;/*返回列数 void Inver(CMatrix /*