电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

稀疏矩阵的加、减、乘、求逆运算

稀疏矩阵的加、减、乘、求逆运算_第1页
1/17
稀疏矩阵的加、减、乘、求逆运算_第2页
2/17
稀疏矩阵的加、减、乘、求逆运算_第3页
3/17
稀 疏 矩 阵 的 加 、 减 、 乘 、 求 逆 运 算 #include #include using namespace std; const int MAXSIZE = 100; //定义非零元素的最多个数 const int MAXROW = 10; //定义数组行数的最大值 const int SIZENUM = 10; typedef struct //定义三元组元素 { int r, c; //矩阵的行号和列号 int v; //矩阵元素值 }Triple; typedef struct //定义普通三元组对象 { Triple data[MAXSIZE+1]; int rows, cols, nzeroNums; //行数、列数、非零元素个数 }TSMatrix; typedef struct //定义行逻辑链接的顺序表 { Triple data[MAXSIZE+2]; //非0 元三元组表 int rpos[MAXROW+1]; //各行第一个非零元素的位置表 int rows, cols, nzeroNums; //行数、列数、非零元素个数 }RLSMatrix; //输入三元组矩阵 template bool InputTSMatrix(T &M, int y) { cout << "输入矩阵的行数、列数和非零元素个数: "; cin >> M.rows >> M.cols >> M.nzeroNums; cout << "请输入非零元素对应的行号、列号和相应的元素值: " << endl; for (int i = 1; i <= M.nzeroNums; i++) { cin >> M.data[i].r >> M.data[i].c >> M.data[i].v; } return true; } //输出矩阵,按标准格式输出 template bool OutputSMatrix(T M) { int i, j, k = 1; for (i = 0; i < M.rows; i++) { for (j = 0; j < M.cols; 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 TranSMatrix() { TSMatrix M, T; InputTSMatrix(M, 0); int col, p, q = 1; T.rows = M.cols; T.cols = M.rows; T.nzeroNums = M.nzeroNums; if (T.nzeroNums) { for (col = 1; col <= M.cols; col++) { for (p = 1; p <= M.nzeroNums; p++) { if (M.data[p].c == col) { T.data[q].r = M.data[p].c; T.data[q].c = M.data[p].r; T.data[q].v = M.data[p].v; ++q; } }//end_p }//end_col }//end_if cout << "运用普通转置算法, 输入矩阵的转置矩阵为: " <<...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

稀疏矩阵的加、减、乘、求逆运算

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部