2010-10-14 111 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