在2维数组中交换2个数字

时间:2010-10-14 07:28:15

标签: c++

我的问题如下:

请参阅main()中的以下数组声明:

const int size = 4;
int x[size][size] = {{1, 2, 3, 4}, {5, 6, 7, 8},
  {9, 8, 7, 3}, {2, 1, 7, 1}};

写一个函数SwapRows()来交换上面2D数组的两行。对于 例如,如果已调用该函数来交换第一行和第二行 在2D数组之上,结果是第一行现在变为{5,6,7,8} 第二行现在变为{1,2,3,4}。该函数接收参数 2D数组,数组的大小,以及两个整数,用于指示要交换的行。

帮助,我该怎么办呢????? 注意:使用C ++语言

2 个答案:

答案 0 :(得分:4)

伪代码:

SwapRows(x[size][size], row0, row1, size)
  for col = 0 to size - 1 do
    temp = x[row0][col]
    x[row0][col] = x[row1][col]
    x[row1][col] = temp

现在你需要做的就是将伪代码转换为C ++,然后测试,调试和记录它。

答案 1 :(得分:-1)

#include <algorithm>

void SwapRows(int arr[][4], int r1, int r2)
{
    std::swap(arr[r1],arr[r2]);
}