本文共 1118 字,大约阅读时间需要 3 分钟。
三元矩阵模板
#include#define MAXSIZE 12500using namespace std;//row column//行 列typedef struct{ int i,j; int e;}Triple;typedef struct{ Triple data[MAXSIZE]; int rpos[MAXSIZE]; int nr,nc,nm;//非零元行数列数和个数}TSMatrix;int mr,mc,nr,nc;int** MM;int** NN;void init(){ cin>>mr>>mc; MM=new int *[mr]; for(int i=0;i >MM[i][j]; } cin>>nr>>nc; NN=new int *[nr]; for(int i=0;i >NN[i][j]; }}void transformation(int** a,int r,int c,TSMatrix &M){ int p=0,flag=1; for(int i=0;i MAXSIZE) return false; Q.data[Q.nm].i=arow; Q.data[Q.nm].j=ccol; Q.data[Q.nm].e=temp[ccol]; Q.nm++; } } } } return true;}int main(){ freopen("in.txt","r",stdin); TSMatrix M,N,T,Q; init();//输入 transformation(MM,mr,mc,M);//将普通矩阵MM转换成三元矩阵M transformation(NN,nr,nc,N);//将NN转换成N get_Transpose_matrix(M,T);//获得三元矩阵M的转置矩阵 matrix_multiplication(M,N,Q);//将矩阵M和N相乘保存到Q中 free(MM); free(NN); return 0;}
转载地址:http://rlqbi.baihongyu.com/