Я создал функцию для перевода квадратного 2-мерного массива по горизонтали, поэтому первая строка перемещается до последней, вторая строка перемещается во вторую от последней и так далее.C++, манипулировать 2d-массивом
Вот функция:
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.
Спасибо за помощь.
Я предполагаю, что 'size' вы имеете в виду' ROWS' или 'COLS'? – GManNickG
Да, если размер = 5, то ROWS = 5 и COLS = 5. – Joe
Кажется нелогичным передавать оба ROWS/COLS вместе с размером. – GManNickG