2010-10-14 120 views
-2

我的问题如下:在2维阵列交换2号

请参考下面的数组声明在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阵列的第二行,那么结果将是,在第一行现在变成{5,6,7,8}现在 和第二行变成{1,2,3,4}。该函数接收参数 二维数组,数组的大小和两个整数来指示要交换的行。

帮助,,我怎么能去这个????? 注意:使用C++语言

+4

是它的功课? - >请将它标记为功课。 – 2010-10-14 07:30:36

+3

并显示你已经付出了努力。 – 2010-10-14 07:32:00

+0

booooooooooring – 2010-10-14 07:45:52

回答

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
#include <algorithm> 

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

可能通过引用arr [] [4]? – 2010-10-14 07:47:41

+0

@portland为什么?它是一个数组,它已经通过引用传递。 – 2010-10-14 07:53:07

+0

对于作业问题,人们普遍认为您只应提供提示和一般指导,而不是完整的解决方案。 – 2010-10-14 07:53:18