输入
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6
行包含两个整数m、n(1 <= m,n< = 5),以一个空格分开。
输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
输入示例
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
输出示例
2 2 2 1 1
3 6 7 8 5
3 3 0 5 9
6 2 1 4 7
4 0 8 2 3
输入
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6
行包含两个整数m、n(1 <= m,n< = 5),以一个空格分开。
输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
输入示例
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
输出示例
2 2 2 1 1
3 6 7 8 5
3 3 0 5 9
6 2 1 4 7
4 0 8 2 3
就是把那两列元素交换后的输出。
这个代码的seq数组表示矩阵列的输出顺序,正常情况下肯定是01234输出,如题替换后按41230输出。
这是从问题一般性角度考虑的,如果后续类似题目要求多次交换列,楼上代码就不合适,而这个代码只需要继续交换列顺序对应的数,同理行交换也适用。
#include <iostream>
using namespace std;
int main(){
int matrix[5][5];
int seq[5] = {0,1,2,3,4};
int n,m;
for( int i = 0; i < 5; i++ )
for( int j = 0; j < 5; j++ )
cin >> matrix[i][j];
cin >> n >> m;
int temp = seq[n-1];
seq[n-1] = seq[m-1];
seq[m-1] = temp;
for( int i = 0; i < 5; i++ ){
for(int j = 0; j < 5; j++)
cout << matrix[i][seq[j]] << " ";
cout << endl;
}
}