数据结构——矩阵及其常用操作
2017-12-19 13:04
357 查看
/************************ author's email:wardseptember@gmail.com date:2017.12.19 ************************/ //矩阵常用操作 #include<iostream> using namespace std; #define maxSize 4 void trsmat(int A[][maxSize], int B[][maxSize], int m, int n); void addmat(int C[][maxSize],int A[][maxSize], int B[][maxSize], int m, int n); void mutmat(int C[][maxSize], int A[][maxSize], int B[][maxSize], int m, int n,int k); int main() { int a[][maxSize] = { {1,3,5,6}, {4,8,7,2}, {11,15,7,8}, {14,17,21,7} }; int b[][maxSize] = { {12,16,78,45}, {4,15,13,14}, {17,16,21,24}, {16,13,48,49} }; int C[maxSize][maxSize] = { 0 }; int m = maxSize; int n = maxSize; cout << "转置前的矩阵:" << endl; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cout << a[i][j] << '\t'; } cout << endl; } cout << "矩阵的转置:" << endl; trsmat(a, b, maxSize, maxSize); cout << "两个矩阵相加:" << endl; addmat(C, a, b, maxSize, maxSize); cout << "两个矩阵相乘:" << endl; mutmat(C, a, b, maxSize, maxSize, maxSize); return 0; } //矩阵装置 void trsmat(int A[][maxSize], int B[][maxSize], int m, int n) { for (int i = 0; i < m; ++i) for (int j = 0; j < n; ++j) B[j][i] = A[i][j]; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j){ cout << B[i][j] << '\t'; } cout << endl; } } //两个矩阵相加,相减把+改为- void addmat(int C[][maxSize], int A[][maxSize], int B[][maxSize], int m, int n) { for (int i = 0; i < m; ++i) for (int j = 0; j < n; ++j) C[i][j] = A[i][j] + B[i][j]; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cout << C[i][j] << '\t'; } cout << endl; } } //两个矩阵相乘 void mutmat(int C[][maxSize], int A[][maxSize], int B[][maxSize], int m, int n, int k) { for (int i = 0; i < m; ++i) for (int j = 0; j < k; ++j) { C[i][j] = 0; for (int h=0; h < n; ++h) C[i][j] += A[i][h] * B[h][j]; } for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cout << C[i][j] << '\t'; } cout << endl; } }
以上如有错误请指出,大家共同学习进步。
相关文章推荐
- [PY3]——内置数据结构(6)——集合及其常用操作
- [PY3]——内置数据结构(1)——列表及其常用操作
- [PY3]——内置数据结构(2)——元组及其常用操作
- OpenCV常用的图像IplImage和矩阵CvMat操作总结
- VC++常用数据类型及其操作详解
- Redis常用数据类型介绍、使用场景及其操作命令
- VC++常用数据类型及其操作详解
- VC++常用数据类型及其操作详解
- 常用数据结构及其复杂度
- 常用的数据结构操作与排序算法的时间和空间复杂度
- VC++常用数据类型及其操作详解(未完待续)
- matlab:矩阵/数组常用操作
- linux 常用操作及其命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Python常用数据结构--字符串常见操作
- c++ 数据结构 稀疏矩阵类的定义及其各种操作的实现
- OpenCV学习-常用的图像和矩阵操作函数
- opencv常用图像(矩阵)操作函数
- VC++常用数据类型及其操作详解 (转自博客园)
- 《数据结构》 定长顺序串常用操作代码集合