B2106 矩阵转置

思路

观察样例,注意每一行和每一列的关系。

可以看出,第 i 行与第 i 列是完全一致的。

所以,我们只需要调换每一行与同序数的列即可。

换句话说,把行和列的下标换一下。

代码

#include <iostream>
using namespace std;
int a[101][101], at[101][101], n, m;
int main()
{
    cin >> n >> m;
    for(int i = 0;i < n;++i)
        for(int j = 0;j < m;++j)
            cin >> a[i][j];
    for(int i = 0;i < n;++i)
        for(int j = 0;j < m;++j)
            at[j][i] = a[i][j]; //把两个下标换一下
    for(int i = 0;i < m;++i)
    {
        for(int j = 0;j < n;++j)
            cout << at[i][j] << " ";
        cout << endl;
    }
    return 0;
}
posted @ 2021-07-15 20:16  5k_sync_closer  阅读(15)  评论(0编辑  收藏  举报  来源