c++如何实现二维数组数字上下翻转
时间: 2024-10-05 22:04:08 浏览: 25
在C++中,可以使用标准库函数或自定义循环来实现二维数组的数字上下翻转。这里提供一种简单的自定义迭代方法:
```cpp
#include <iostream>
void flipMatrix(int arr[][size], int rows, int cols) {
for (int i = 0; i < rows / 2; ++i) {
// 对每行进行翻转
for (int j = 0; j < cols; ++j) {
std::swap(arr[i][j], arr[rows - 1 - i][j]);
}
}
}
// 示例:
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int rows = sizeof(matrix) / sizeof(matrix[0]);
int cols = sizeof(matrix[0]) / sizeof(matrix[0][0]);
std::cout << "Original Matrix:\n";
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << matrix[i][j] << ' ';
}
std::cout << '\n';
}
flipMatrix(matrix, rows, cols);
std::cout << "\nFlipped Matrix:\n";
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
std::cout << matrix[i][j] << ' ';
}
std::cout << '\n';
}
return 0;
}
```
在这个例子中,`flipMatrix` 函数接受一个二维数组 `arr`、行数 `rows` 和列数 `cols`,通过两层嵌套循环交换矩阵对角线元素的位置。
阅读全文