题解 | #矩阵交换#
矩阵交换
http://www.nowcoder.com/practice/ec44d4ff8c794b2f9205bdddbde96817
#include <iostream>
//#include <vector>//有点问题;只能通过五个例子
using namespace std;
struct ac
{
char cz;
int n,m;
};
int main ()
{
int n,m,k;
cin>>n>>m;
char t;
int arr[n][m];
for(int i=0;i<n;i++)//shu输入矩阵
{
for (int j=0;j<m;j++)
{cin>>arr[i][j];
}
}
cin>>k;
ac tem[k];//存放操作方法。
for (int i=0;i<k;i++)
{
cin>>tem[i].cz>>tem[i].n>>tem[i].m;
}
for (int i=0;i<k;i++)
{
if (tem[i].cz=='r')//hangbianhuan
{
int r1=tem[i].n;
int r2=tem[i].m;
for (int j=0;j<m;j++)
{
int temp=arr[r1-1][j];
arr[r1-1][j]=arr[r2-1][j];
arr[r2-1][j]=temp;
}
if (tem[i].cz=='c')//liebianhuan
{
int r1=tem[i].n;
int r2=tem[i].m;
for (int j=0;j<n;j++)
{
int temp=arr[j][r1-1];
arr[j][r1-1]=arr[j][r2-1];
arr[j][r2-1]=temp;
}
}
}
}
for(int i = 0;i < n;i++)
{
for(int j = 0;j < m;j++)
cout<<arr[i][j]<<" ";//输入矩阵的每个元素
cout<<endl;
}
}