- 5
- 0
- 约 3页
- 2017-06-08 发布于重庆
- 举报
三元组矩阵相加
三元组矩阵相加
计算二班 田甜 座机电话号码
#include
#include
using namespace std;
const bool TRUE 1;
const bool FALSE 0;
const int MAXSIZE 100; //定义非零元素的最多个数
typedef struct //定义三元组元素 int r, c; //矩阵的行号和列号 int v; //矩阵元素值
Triple;
typedef struct //定义普通三元组对象 Triple data[MAXSIZE+1]; int mu, nu, tu; //行数、列数、非零元素个数
TSMatrix;
bool InputTSMatrix TSMatrix M, int y cout 输入矩阵的行数、列数和非零元素个数: ; cin M.mu M.nu M.tu; cout 请输入非零元素对应的行号、列号和相应的元素值: endl; for int i 1; i M.tu; i++ cin M.data[i].r M.data[i].c M.data[i].v; return TRUE; bool OutputSMatrix TSMatrix M int i, j, k 1; for i 0; i M.mu; i++ for j 0; j M.nu; j++ if M.data[k].r-1 i M.data[k].c-1 j cout setw 4 M.data[k].v; k++; else cout setw 4 0; //end_j cout endl; //end_i return TRUE; //两个稀疏矩阵的加法
int AddMatrix TSMatrix M,TSMatrix N,TSMatrix Q //求采用三元组顺序表存储表示的稀疏矩阵M和N的和,,结果赋给矩阵Q
if M.mu 0 || M.nu 0 || M.tu 0 || N.mu 0 || N.nu 0 || N.tu 0 return 0; if M.mu! N.mu||M.nu! N.nu return 0;
Q.mu M.mu;
Q.nu M.nu;
Q.tu 0;
int x 0,y 0; for int i 1;i Q.mu;i++ for int j 1;j Q.nu;j++ for int p 1;p M.tu;p++ if i M.data[p].r j M.data[p].c x M.data[p].v; break; else x 0; //for p for int q 1;q N.tu;q++ if i N.data[q].r j N.data[q].c y N.data[q].v; break; else y 0; //for q if x+y ! 0 Q.data[Q.tu+1].r i; Q.data[Q.tu+1].c j; Q.data[Q.tu+1].v x+y; Q.tu++; //if //for j //for i
OutputSMatrix Q ;
return 0; void main TSMatrix A, B, C;
InputTSMatrix A, 1 ;
cout 矩阵A是: endl;
OutputSMatrix A ; InputTSMatrix B, 1 ; cout 矩阵B是: endl; OutputSMatrix B ;
cout 加法结果是: \n;
AddMatrix A, B, C ; 调试结果:
您可能关注的文档
最近下载
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
- 2026年国家公务员考试申论真题及参考答案(考生回忆版).docx VIP
- 部编版语文二年级上册期中常考七大重点题型专项训练.docx VIP
- 机器人操作系统(ROS)及仿真应用 课件全套 第1--9章 Linux Ubuntu入门基础--- 基于ROS的服务机器人应用实例.ppt
- 压疮的预防及护理技术操作考核评分标准编辑.docx VIP
原创力文档

文档评论(0)