用二维数组实现矩形的转置,c++代码
时间: 2024-12-19 09:19:01 浏览: 7
C++数组实现矩阵的转置
5星 · 资源好评率100%
在C++中,二维数组的转置可以通过交换原数组行和列的方式来实现。下面是一个简单的例子,假设我们有一个二维整数数组`matrix`:
```cpp
#include <iostream>
using namespace std;
// 函数声明
void transpose(int matrix[][N], int rows, int cols);
int main() {
// 初始化一个2x3的矩阵
const int N = 3;
int matrix[2][N] = {
{1, 2, 3},
{4, 5, 6}
};
int rows = sizeof(matrix) / sizeof(matrix[0]);
int cols = sizeof(matrix[0]) / sizeof(matrix[0][0]);
// 打印原矩阵
cout << "Original Matrix:\n";
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
// 转置矩阵
transpose(matrix, rows, cols);
// 打印转置后的矩阵
cout << "Transposed Matrix:\n";
for (int i = 0; i < cols; ++i) {
for (int j = 0; j < rows; ++j) {
cout << matrix[j][i] << " ";
}
cout << endl;
}
return 0;
}
// 实现转置函数
void transpose(int matrix[][N], int rows, int cols) {
for (int i = 0; i < rows; ++i) {
for (int j = i; j < cols; ++j) {
// 交换行i和列j的元素
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
```
在这个代码中,我们首先初始化了一个2x3的矩阵,然后通过两个嵌套循环实现了转置操作。转置后,原矩阵的行变成了新矩阵的列。
阅读全文