收藏 分销(赏)

c专业课程设计矩阵的转置与乘法计算.doc

上传人:精*** 文档编号:2864417 上传时间:2024-06-07 格式:DOC 页数:6 大小:87.04KB 下载积分:6 金币
下载 相关 举报
c专业课程设计矩阵的转置与乘法计算.doc_第1页
第1页 / 共6页
c专业课程设计矩阵的转置与乘法计算.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
C++课程设计试验汇报 姓名 学号 班级 任课老师 时间 9月 老师指定题目 4-4 矩阵转置和乘法计算 评定难易等级 A 试验汇报成绩 .试验内容: 1.1 程序功效介绍 该程序定义了一个向量类,里面元素是模板形式,定义了相关向量了类多种属性、方法及运算符重载函数。 1.2 程序设计要求 (1) 利用已知向量类对象定义一个矩阵类,矩阵类数据是向量子对象,一样定义矩阵类多种属性、方法及运算符重载函数。 (2) 完善组员函数,使矩阵能够由文件输入,具体输入格式自己要求。 (3) 完成矩阵赋值、转置、乘法等运算,要求用整形矩阵和浮点型矩阵分别演算。 (4) 更改main函数结构,可由用户选择输入矩阵数据方法,程序能够连续运行,直到选择退出为止。 2. 源程序结构步骤框图和说明(含新增子函数结构框图) Y 选择退出 作者:喻皓 学号: N 进行运算 开始进入程序 提醒输入矩阵类型 输入选择 提醒输入矩阵方法 输入选择 提醒选择对矩阵操作类型 输入选择 输出结果 是否继续 实施程序 结束退出 3. 基础数据结构 定义类模板,将函数用链表将部分功效函数连接起来。其中定义了结构函数,析构函数,重载赋值、乘法、数乘、输入、输出,矩阵转置等函数,实现矩阵矩阵赋值、转置、乘法等运算。 template <class T> class CMatrix { struct node { Vector<T> **f;//**************************************组成矩阵向量指针 int refcnt;//*************************************************被引用次数 int length;//*************************************************矩阵行数 T **tmppointer;//*******************************************头指针类型 } *p; public: // Vector<T> ** begin() const {return p->f;}; CMatrix();//****************************************************默认结构 CMatrix(int xsize,int ysize,T init=0);//***************************结构函数 CMatrix(int xlength,const Vector<T> *vec);//************************结构函数 CMatrix(CMatrix<T> &x); //**************************************拷贝结构函数 ~CMatrix(); //****************************************************析构函数 CMatrix<T> & operator=(const CMatrix<T> &mat);//**************重载赋值运算符 int row() const;//**************************************************返回行数 int col() const;//**************************************************返回列数 Vector<T> & operator []( int i);//********************************重载[] void Inver(CMatrix &mat);//****************************************矩阵转置 operator T **();//****************************************************重载** void ReadFromFile();//*************************************从文件中读入矩阵 friend CMatrix cpy(CMatrix &v);//***********************************拷贝函数 friend std::ostream & operator<<(std::ostream &s,const CMatrix<T> &mat);//重载输出函数 friend std::istream & operator>>(std::istream &s,const CMatrix<T> &mat);//重载输入函数 friend CMatrix<T> operator*(CMatrix<T> &v1,CMatrix<T> &v2);//******矩阵乘法 friend CMatrix<T> operator*(const CMatrix<T> &v,T val); //************数乘 }; 4. 程序运行结果界面 图1。进入程序、选择输入方法 图2。输入两个矩阵并选择对矩阵操作 图3。实现矩阵转置 图4。实现矩阵乘法 图5。实现矩阵数乘 5. 课程设计碰到技术问题和处理思绪 问题1:对于基础输入输出符号和运算符号无法利用到矩阵中、需要重载 处理措施:重载输入、输出、乘法、数乘、赋值等、使其能对矩阵进行操作 问题2:当输入数字个数异于事先设定好矩阵容量时会出现错误 比如:当输入行数和列数分别为2和3时 当输入“1 2 3” (个数少于2*3)则无法实现缺省状态当输入“1 2 3 4 5 6 7”时 则多出数字7将会成为下一要求输入数据一个数据 处理措施:在初始界面输入提醒信息,本程序尚不能处理。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服