矩阵数乘(Matrix multiplication).docVIP

  • 4
  • 0
  • 约7.85千字
  • 约 29页
  • 2017-10-06 发布于河南
  • 举报
矩阵数乘(Matrix multiplication)

矩阵数乘(Matrix multiplication) #包括 iostream。” #包括是。H #包括程序。” #包括 iomanip。” #包括 fstream对象。” 节点结构体/建立链表 { 双日期; 下一个节点; }; 类矩阵/定义矩阵类 { 行、行; 表头节点,*后;/ / * CurrentNode; 公共: matrix();/ /默认的构造函数 矩阵(int,int);/ /带行列数的构造函数 ~ matrix();/ /析构函数 setdate() /输入矩阵元素的函数无效; 空插入(节点*); 无效readfromfile(char T [ ]);//从文件中读入矩阵 getrow() { int返回行;} //返回矩阵的行数 getline() { int返回线;} //返回矩阵的列数 无效setcmatrix(行,行行行= { int);线=线;} 结* gethead() {返回头;} //返回链表头指针的函数 两getelement(int indexrow,int indexline);/ /从链表中得到某行某列的元素 无效destroyall(); print() /输出矩阵无效; }; 矩阵::matrix() { 行=行= 0; 头=空; 后=空; } 矩阵:矩阵(int行,int行) { int i; 头=空; 后=空; 行=行; 行=行; 节点节点; 对于(i = 1;i =行*行;i +) { 节点,新节点; 节点-日期= 0; 插入(节点); } } 矩阵::~ matrix() { tempnode节点*,* CurrentNode; CurrentNode =头; 而(CurrentNode) { tempnode = CurrentNode; CurrentNode = CurrentNode -下; 删除tempnode; } 头=空; CurrentNode = null; 后=空; } 矩阵:setdate() { 结* CurrentNode =头; int,j; 双温; 对于(i = 0;i 行;i + +) { 对于(j=0;j 行;j + +) { cout “请输入第”我+ 1 “行第” j + 1 “个元素” endl; 温度; CurrentNode -日期=温度; CurrentNode = CurrentNode -下; } } } 矩阵:readfromfile(字符文件名[ ])/从文件中读入矩阵 { 结* CurrentNode =头; int,j; 双温; ifstream INS; 插件。打开(filename,iOS::在| ios::ios::nocreate); 如果(!INS) { cerr “\n文件打开错误!“n”; 出口(1); } 行行; 行行; 对于(i = 0;i 行;i + +) { 对于(j=0;j 行;j + +) { 默认值; CurrentNode -日期=温度; CurrentNode = CurrentNode -下; } } } 矩阵:(节点插入新节点) { 如果(头= NULL和后置= NULL) { 头= NewNode; 后=节点; 后面 下一个=空; } 其他的 { 后-下一组节点; 后=节点; 后面 下一个=空; } } 两矩阵::getelement(int indexrow,int indexline) { 如果(indexrow 行| | indexline 线) { cout “下标越界! endl!”; 出口(1); } 结* CurrentNode =头; 为(int i = 1;i (indexrow-1)*线+ indexline;i++) CurrentNode = CurrentNode -下; 返回CurrentNode -日期; } 虚加(矩阵和M1,矩阵和M2) { 如果getline()(M1!=平方米。getline() M1。getrow()!getrow())=平方米。 { cout “错误!!!第一个矩阵的行数与列数必须与第二个矩阵的行数与列数相等!” endl; 出口(1); } int,j; 矩阵的结果(M1。getrow(),M1。getline()); 节点gethead() CurrentNode =结果; 为(i = 1;i = M1。getrow();i++) 为(J = 1;J = M1。getline();j++) { CurrentNode -日期+ =(M1。getelement(i,j))+(平方米。getelement(i,j)); CurrentNode = CurrentNode -下; } Cout, the sum of

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档