题目描述
输入一个N*M的矩阵,要求将这个矩阵向左旋转90度后输出
比如现在有矩阵 :
1 2 3
4 5 6
向左旋转90度后的矩阵变为:
3 6
2 5
1 4
输入
第一行输入T表示有T个测试实例
第二行输入矩阵维度N和M,表示N行和M列
第三行起输入矩阵数据,矩阵数据用自然数表示
下面依次类推
输出
输出左转90度的矩阵
注意每行最后一个数据不带空格,直接换行
输入样例1
2
2 3
1 2 3
4 5 6
3 3
1 2 3
4 5 6
7 8 9
输出样例1
3 6
2 5
1 4
3 6 9
2 5 8
1 4 7
碎碎念念
不知道怎么转?直接在读入的时候把元素放到相应位置就可以了。
代码
#include<iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int m,n,i,j;
cin>>m>>n;
int a[n][m];
for(j=0;j<m;j++)
for(i=n-1;i>=0;i--)
cin>>a[i][j];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
cout<<a[i][j];
if(j<m-1)
cout<<" ";
else
cout<<endl;
}
}
}