《数据结构_矩阵的相乘》由会员分享,可在线阅读,更多相关《数据结构_矩阵的相乘(5页珍藏版)》请在金锄头文库上搜索。
1、# include # define MAXSIZE 20 using namespace std;typedef struct/三元组的定义 int row;/非 0 元的行下标 int col;/非 0 元的列下标 int e;/非 0 元的素值Triple;typedef struct/矩阵的定义 Triple dataMAXSIZE;/非 0 元三元组表 int m,n,len;/矩阵的行数,列数和非 0 元个数TSMatrix;void initMatrix(TSMatrix A.m=0; A.n=0; for (int i=0; iA.mA.nA.len;/输入矩阵的行、列值及非
2、0 元的个数 for(int i=0;iA.datai.row; cinA.datai.col; cinA.datai.e; int search(TSMatrix A,int m,int n)/找到 m 行 n 列元素在 A 的三元组表中的位置。若找到返回值,若找不到返回-1 int flag=-1; for(int i=0;ii; while(true) int i; cini; switch(i) case 0:system(“cls“);cout“创建矩阵 A:“endl;createMatrix(A);/调用创建函数cout“创建矩阵 B:“endl;createMatrix(B);
3、showtip();/调用菜单函数break; case 1:system(“cls“);if(A.m=0|B.m=0)cout“未创建矩阵“endl;elseinitMatrix(C);/调用矩阵初始化函数 mult(A,B,C);/调用矩阵相称函数if(A.n=B.m) cout“乘后的结果:“endl; print(A); cout“*“endl; print(B); cout“=“endl; print(C); /end_if(A.n=B.m)/end_elseshowtip();break; case 2: exit(0); break;/end_switch /end_while/end_main