# 方阵转置

**问题描述**


给定一个n×m矩阵相乘，求它的转置。其中1≤n≤20，1≤m≤20，矩阵中的每个元素都在整数类型（4字节）的表示范围内。

**输入格式**

第一行两个整数n和m；  
第二行起，每行m个整数，共n行，表示n×m的矩阵。数据之间都用一个空格分隔。

**输出格式**


共m行，每行n个整数，数据间用一个空格分隔，表示转置后的矩阵。

**样例输入**

```
2 4
34 76 -54 7
-4 5 23 9
```
**样例输出**

```
34 -4
76 5
-54 23
7 9
```


请从以下四个选项中选择正确的代码填补空白处，实现方阵转置功能。

```cpp
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int m, n;
    int a[20][20];
    int i, j;
    cin >> m >> n;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[j][i];
        }
    }
    __________________
    return 0;
}
```

## aop

### before

```cpp

```
### after

```cpp

```

## 答案

```cpp
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
```
## 选项


### A

```cpp
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i-1][j] << " ";
        }
        cout << endl;
    }
```

### B

```cpp
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i][j-1] << " ";
        }
        cout << endl;
    }
```

### C

```cpp
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i-1][j-1] << " ";
        }
        cout << endl;
    }
```
