矩阵类实现实验任务.ppt

上传人:本田雅阁 文档编号:2254266 上传时间:2019-03-11 格式:PPT 页数:18 大小:121.01KB
返回 下载 相关 举报
矩阵类实现实验任务.ppt_第1页
第1页 / 共18页
矩阵类实现实验任务.ppt_第2页
第2页 / 共18页
矩阵类实现实验任务.ppt_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《矩阵类实现实验任务.ppt》由会员分享,可在线阅读,更多相关《矩阵类实现实验任务.ppt(18页珍藏版)》请在三一文库上搜索。

1、1,创建三角矩阵类,C+语言程序设计 实验六,2,问题描述,行数与列数相等的方阵,开发类TriMat,它定义的是对角线以下的元素值全为0的上三角矩阵。,3,上三角矩阵的性质,1.假设矩阵中共有n2个元素,则其中为零的元素个数为(n*n-n)/2 2.矩阵加法就是相应元素值相加 3.矩阵减法就是相应元素值相减 4.矩阵乘法,假设乘积矩阵C是三角矩阵A和B相乘的结果,C(i,j)的值根据A的第i行和B的第j列计算出来的 5.三角矩阵的行列式的值就是对角线上元素的乘积,4,三角矩阵的存储,如何选择三角矩阵的存储结构是至关重要的问题 可以考虑为零的元素不占用存储空间 用一维数组M只存放上三角元素,5,

2、类的描述,class TriMat private: /M中各行的起始下标 int rowTableROWLIMIT; /行列数 int n; /存放上三角中的元素 double MELEMENTLIMIT;,6,类的描述,public: /构造函数,无缺省值 TriMat(int matsize); /访问矩阵元素方法 void PutElement (double item, int i, int j); double GetElement(int i,int j) const; /矩阵的算术运算 TriMat AddMat(const TriMat,7,类的描述,/矩阵I/O操作 voi

3、d ReadMat(void); void WriteMat(void) const; /取矩阵维数 int GetDimension(void) const; ;,8,类使用的举例,#include “TriMat.h” TriMat A(10),B(10),C(10); A.ReadMat(); B.ReadMat(); C=A.AddMat(B); C.WriteMat();,9,三角矩阵的存储,标准数组定义需要n2个内存位置,但为了节省存储空间,我们将三角矩阵中的各项存储到一维数组M中,主对角线以下的各项不再被存储,10,三角矩阵的存储,11,三角矩阵的存储,存储算法需要一个存取函数,

4、它必须可以确定存储了元素项Ai,j,存取函数利用一直到i行的各行所存储的元素个数的信息,对每一行i都可以计算这一数据,将其存放到一个数组(rowTable)中,以供存取函数使用。,12,三角矩阵的存储,13,三角矩阵的存储,存取Ai,j的算法如下: 1.若j=i,则取rowTablei的值,即数组M中存储的一直到第i行的所有元素个数,在第i行,前i项是0,不在M中存放,元素项Ai,j的位置是MrowTalbei+(j-i)。,14,类的声明,#include #include #include / 上三角矩阵存储元素个数及行数的最大值 const int ELEMENTLIMIT = 325;

5、 const int ROWLIMIT = 25;,15,类的声明,class TriMat private: /私有数据成员 int rowTableROWLIMIT; / M中各行的起始下标 int n; / 行/列数 double MELEMENTLIMIT;/存放上三角中的元素,16,类的声明,public: / constructor. no default parameters / 构造函数,无缺省参数 TriMat(int matsize); / matrix element access methods /访问矩阵元素的方法 void PutElement (double item, int i, int j); double GetElement(int i,int j) const; / matrix arithmetic operations /矩阵的算数运算 TriMat AddMat(const TriMat,17,类的声明,/ matrix I/O operations /矩阵的I/O操作 void ReadMat(void); void WriteMat(void) const; / get matrix dimension /取矩阵维数 int GetDimension(void) const; ;,18,实验任务,实现这个矩阵类并测试。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1