矩阵旋转

根据矩阵倒置得到的灵感

题目就是将一个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;
}
原文地址:https://www.cnblogs.com/yz-lucky77/p/11190592.html