Say I mehrdimensionales Array wie dieses:Drehen Sie ein Array im Uhrzeigersinn
int arr[3][3] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
Ich möchte das Array im Uhrzeigersinn drehen, so dass es wie folgt aussieht:
{{7, 4, 1},
{8, 5, 2},
{9, 6, 3}};
Ich habe versucht, jede der Swapping Werte wiederum mit dem vorherigen Wert:
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]);
Dies wurde nicht richtig gedreht. Es hat ein paar Werte dort gelassen, wo sie waren, und die anderen an die falschen Stellen gebracht.
Was mache ich falsch, und wie kann ich das erreichen?
@DavidBowling behoben. – DEADBEEF
Ähnliche [Frage] (https://stackoverflow.com/questions/40832947/array-rotation-in-c/) – BLUEPIXY
Was ist 'Swap'? Sie sollten Ihren Code anzeigen und vorzugsweise einen [MCVE] (http://stackoverflow.com/help/mcve) –