为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

稀疏矩阵加法

2017-10-06 10页 doc 24KB 23阅读

用户头像

is_496339

暂无简介

举报
稀疏矩阵加法稀疏矩阵加法 /*该程序在vs2010旗舰版下 成功编译运行正常*/ /*利用三元组表存储稀疏矩阵 进行加法运算 , 自行建立头文件 头文件实现 main引用 三 个文件*/ //头文件 #ifndef _SPARMATRIX_H_ #define _SPARMATRIX_H_ #define Max_Size 50 template struct Node { int r,c; //非零元的行,列数 T Data; //矩阵元素 }; template class _Sparmatrix { pu...
稀疏矩阵加法
稀疏矩阵加法 /*该程序在vs2010旗舰版下 成功编译运行正常*/ /*利用三元组存储稀疏矩阵 进行加法运算 , 自行建立头文件 头文件实现 main引用 三 个文件*/ //头文件 #ifndef _SPARMATRIX_H_ #define _SPARMATRIX_H_ #define Max_Size 50 template struct Node { int r,c; //非零元的行,列数 T Data; //矩阵元素 }; template class _Sparmatrix { public: _Sparmatrix(T a[][3],int h,int l); //参数为 矩阵,行数,列数 void print(); void operator + (_Sparmatrix a); //运算符重载 实现加法操作 void restore(); //将三元组表还原为矩阵 void transform(); private: int rows,cols; //稀疏矩阵的总行,列数 int terms; //非零元个数 Node value[Max_Size]; }; #endif //头文件实现 #include #include"sparmatrix.h" template _Sparmatrix::_Sparmatrix(T a[][3],int h,int l) { rows = h; //行数 cols = l; //列数 赋值操作 terms = 0; for(int k=0; k void _Sparmatrix::print() //打印三元组表的所有元素 { for(int k=0; k void _Sparmatrix::operator + (_Sparmatrix a) //加法实现 { if((rows != a.rows) || (cols != a.cols)) { throw "矩阵类型不同!"; } int k1=0,k2=0,k3=0; //保存循环变量 Node temp[Max_Size]; //临时保存运算结果 while((k1 void _Sparmatrix::restore() //还原矩阵 { int m=0; for(int i=0; i void _Sparmatrix::transform() { int temp; temp = rows; rows = cols; cols = temp; for(int i=0; ivalue[k+1].r) { temp } } } } //main引用 #include #include"sparmatrix.cpp" using namespace std; int main() { int a[3][3] = {1,2,3, 4,0,6, 0,0,0,}; int b[3][3] = {0,1,0, 1,0,0, 0,1,0}; _Sparmatrix s2(b,3,3); _Sparmatrix s1(a,3,3); /*cout<<"************************************"<
/
本文档为【稀疏矩阵加法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索