矩阵旋转
根据矩阵倒置得到的灵感
题目就是将一个n阶方阵旋转90°,得到新的矩阵,但是不能用另一个矩阵,必须改变原矩阵的值
#include<iostream> #include<vector> using namespace std; int main() { vector<vector<int> >v;//用二维数组也可 //输入v for (int i = 0; i < v.size(); i++) { for (int j = 0; j < v.size(); j++) { cin >> v[i][j]; } } for (int j = 0;j<v.size()/2;j++) { for (int i = j; i < v.size() - j-1; i++) {//这是规律 int m = v[j][i]; v[j][i] = v[v.size() - 1 - i][j]; v[v.size() - 1 - i][j] = v[v.size() - 1-j][v.size() - 1 - i]; v[v.size() - 1-j][v.size() - 1 - i] = v[i][v.size() - 1-j]; v[i][v.size() - 1-j] = m; } } //这部分最重要,其他部分代码应该没有问题, for (int i = 0; i < v.size(); i++) { for (int j=0;j <= v.size() - 1; j++) { cout << v[i][j]; } cout << endl; } getchar(); getchar(); return 0; }