Я создал функцию для переворачивания квадратного двумерного массива по горизонтали, чтобы первый ряд перемещался в последний, второй ряд перемещался во второй из последнего и так далее.
Вот функция:
void flipMatrix(int size, int matrix[ROWS][COLS]) {
int row, col;
int temp[ROWS][COLS];
for (row=0; row < size; row++) {
for (col=0; col < size; col++) {
temp[(size - 1)-row][col] = matrix[row][col];
}
}
//A simple function that copies the temp array to matrix, so that
//I can then print the matrix array
copyArray(size, matrix, temp);
}
Я знаю, что это очень неэффективно, но я довольно плохо знаком с C ++. Мне было интересно, как я мог бы адаптировать это, чтобы быть более эффективным, может быть, возвращая указатель? Мне также интересно, есть ли способ сделать это без создания временного массива?
Следует также отметить, что я пытаюсь сделать это без использования STL.
Спасибо за помощь.