如何在不使用函数等的情况下切换2D数组的列。
#include <iostream>
using namespace std;
int main()
{
int arr[3][4]= {
{1,2,3,4},
{5,6,7,8},
{6,4,5,3}
};
cout << "Before change: "<<endl;
for (int row=0;row<3;row++){
for (int col=0;col<4;col++){
cout << arr[row][col]<<" ";
}
cout <<endl;
}
cout << "After the row change: "<<endl;
for (int row=2;row>=0;row--){
for(int col=0;col<4;col++){
cout<<arr[row][col]<<" ";
}
cout<<endl;
}
我可以使用我知道的廉价技巧来切换行,但是我在切换列时遇到了问题。任何帮助表示赞赏!
答案 0 :(得分:0)
基于“想要交换第2和第4列”
要交换第2和第4列,只需添加:
int temp;
for(int row=0;row<4;row++){
temp=arr[row][1];
arr[row][1]=arr[row][3];
arr[row][3]=temp;
}
答案 1 :(得分:0)
原始订单
int ord [4] = { 0,1,2,3 }
更改排序
swap(ord[1], ord[2]);
cout << "After the row change: "<<endl;
for (int row=2;row>=0;row--){
for(int col=0;col<4;col++){
cout<<arr[row][ord[col]]<<" ";
}
cout<<endl;
}