說我有多維數組是這樣的:旋轉陣列順時針
int arr[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
我想陣列順時針旋轉,所以它看起來是這樣的:
{{7, 4, 1},
{8, 5, 2},
{9, 6, 3}};
我試圖交換各自的值依次與之前的值:
swap(&arr[0][0],&arr[0][1]);
swap(&arr[0][1],&arr[0][2]);
swap(&arr[0][2],&arr[1][2]);
swap(&arr[1][2],&arr[2][2]);
swap(&arr[2][2],&arr[2][1]);
swap(&arr[2][1],&arr[2][0]);
swap(&arr[2][0],&arr[1][0]);
swap(&arr[1][0],&arr[0][0]);
這沒有正確旋轉。它留下了一些值,並將其他人放在錯誤的地方。
我在做什麼錯,我該如何做到這一點?
@DavidBowling固定。 – DEADBEEF
類似[問題](https://stackoverflow.com/questions/40832947/array-rotation-in-c/) – BLUEPIXY
什麼是'swap'?你應該顯示你的代碼,並且最好發佈一個[MCVE](http://stackoverflow.com/help/mcve) –