VIM--矩阵转置运算
2014-12-09 22:54
155 查看
#include<iostream> #include<vector> using namespace std; void PrintMatrix(vector<vector<int> >& Matrix) { int n = Matrix.size(); for(int i = 0; i < n; ++i) { cout << "[" ; for(int j = 0; j < n; ++j) { cout << Matrix[i][j] ; } cout << "]"; cout << '\n'; } } void TofArray(vector<vector<int> >& matrix) { const int n = matrix.size(); // 主对角线反转 for(int i = 0; i < n; ++i) { for(int j = 0; j < n-i; ++j) swap(matrix[i][j], matrix[n-1-j][n-1-i]); } cout << "主对角线反转: " << '\n'; PrintMatrix(matrix); cout << '\n'; // 水平中线反转 for(int i = 0; i < n/2; ++i) { for(int j = 0; j < n; ++j) { swap(matrix[i][j], matrix[n-1-i][j]); } } cout << "水平中线反转: " << '\n'; PrintMatrix(matrix); cout << '\n'; // 垂直中线反转 for(int i = 0; i < n; ++i) { for(int j = 0; j < n/2; ++j) { swap(matrix[i][j], matrix[i][n-1-j]); } } cout << "垂直中线反转: " << '\n'; PrintMatrix(matrix); cout << '\n'; } int main(int argc, char* argv[]) { vector<int> row1; row1.push_back(1), row1.push_back(2), row1.push_back(3); vector<int> row2; row2.push_back(4), row2.push_back(5), row2.push_back(6); vector<int> row3; row3.push_back(7), row3.push_back(8), row3.push_back(9); vector<vector<int> > Matrix(3); Matrix[0] = row1; Matrix[1] = row2; Matrix[2] = row3; cout << "Row matrix is: " << '\n'; PrintMatrix(Matrix); cout << '\n'; TofArray(Matrix); cout << "After T of Matrix is: " << '\n'; PrintMatrix(Matrix); cout << '\n'; return 0; }
相关文章推荐
- 大数据矩阵计算基础(一):矩阵运算,转置,矩阵的逆,行列式
- 对矩阵进行转置运算
- 线性代数矩阵论——矩阵的基本运算——加、减、取负、乘、数乘、转置
- 稀疏矩阵的运算(相乘,输出,转置,相加)
- 性代数矩阵论——矩阵的基本运算——加、减、取负、乘、数乘、转置
- 数据结构与算法(3)——矩阵的加、乘、转置运算实现
- 稀疏矩阵的加法、减法、转置运算
- 稀疏矩阵的转置运算
- 实验7、矩阵的2种转置运算 (4学时)
- 编写一个函数实现矩阵的转置运算
- 稀疏矩阵存储、转置、乘法运算
- 编程基本功——矩阵的转置运算
- 稀疏矩阵存储、转置、乘法运算
- 稀疏矩阵压缩存储及转置,加法运算(采用三元表)
- 菜鸟学编程之二:C对矩阵进行乘法和转置运算
- MATLAB矩阵运算(2)
- R向量矩阵运算
- 矩阵求逆 转置 行列式
- 经典数据结构之二维矩阵的基本运算
- python 矩阵运算