【名词解释】
在一行中输入两个整数
![]()
,分别表示矩阵的行数和列数。
接下来
行,每行输入
个整数
![]()
,用空格分隔。
输出
行
列,为矩阵的转置结果。每个元素之后使用一个空格。
2 3 1 2 3 4 5 6
1 4 2 5 3 6
原矩阵为:
其转置矩阵为:
1 4 7 8 9 10
7 8 9 10
原矩阵为 :
其转置矩阵为:
#include <stdio.h>
int main(){
int n, m, arr[10][10];
scanf("%d %d", &n, &m);
int i, j = 0;
for(i = 0; i < n * m; i++, j++)
scanf("%d", &arr[i / m][j % m]);
for(i = 0; i < n * m; i++, j++){
printf("%d ", arr[j % n][i / n]);
if((j+1) % n == 0)
printf("\n");
}
return 0;
} #include<stdio.h>
int main() {
int n, m, arr[10][10];
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
scanf("%d", &arr[i][j]);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++)
printf("%d ", arr[j][i]);
printf("\n");
}
return 0;
} #include <iostream>
using namespace std;
#include <vector>
int main() {
int n,m;
cin >> n >> m;
vector<vector<int>> v(n,vector<int>(m));
vector<vector<int>> v1(m,vector<int>(n));
for(auto& row : v){
for(auto& val : row){
cin >> val;
}
}
for(int i = 0; i < m; ++i){
for(int j = 0; j < n; ++j){
v1[i][j] = v[j][i];
}
}
for(const auto& row : v1){
for(const auto& val : row){
cout << val << ' ';
}
cout << endl;
}
}
#include <stdio.h>
int main()
{
int n=0,m=0;
scanf("%d %d",&n,&m);
long long a[n+1][m+1];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%lld",&a[i][j]);
}
}
long long b[m+1][n+1];
for(int j=0;j<m;j++)
{
for(int i=0;i<n;i++)
{
b[j][i]=a[i][j];
printf("%lld ",b[j][i]);
}
printf("\n");
}
return 0;
}
import sys
arrs = [line.strip().split() for line in sys.stdin][1:]
for arr in zip(*arrs):
print(" ".join(arr)) #include<stdio.h>
int main()
{
int n,m,i,j;
scanf("%d %d",&n,&m);
int arr[n][m];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&arr[i][j]);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",arr[j][i]);//注意输出顺序,没有设两个二维数组
//而是改变第一个二维数组的输出顺序
printf("\n");
}
return 0;
} # include<bits/stdc++.h>
using namespace std;
int main()
{
int hang,lie;
cin>>hang>>lie;
int arr[hang][lie],arr_num;
for(int i = 0;i<hang;i++){
for(int j = 0;j<lie;j++){
cin>>arr_num;
arr[i][j] = arr_num;
}
}
for(int i = 0;i<lie;i++){
for(int j = 0;j<hang;j++){
cin>>arr_num;
cout<<arr[j][i]<<" ";
}
cout<<endl;
}
}