题解 | #矩阵交换#
矩阵交换
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; } }