矩阵转置c++构造函数
时间: 2023-07-01 07:11:20 浏览: 156
C/C++实现矩阵的转置(示例代码)
矩阵转置的C++构造函数可以按照以下方式实现:
```c++
class Matrix {
private:
int row;
int col;
vector<vector<int>> data;
public:
// 构造函数
Matrix(int r, int c, vector<vector<int>> d) {
row = r;
col = c;
data = d;
}
// 转置函数
Matrix transpose() {
vector<vector<int>> newData(col, vector<int>(row));
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
newData[j][i] = data[i][j];
}
}
return Matrix(col, row, newData);
}
};
```
在这个构造函数中,我们首先定义了一个矩阵类Matrix,其中包含了矩阵的行数、列数和数据。然后,我们实现了一个转置函数transpose(),该函数将矩阵的行列交换,并返回转置后的新矩阵。
在转置函数中,我们首先定义了一个新的二维向量newData,用于存储转置后的数据。接着,我们使用两个for循环遍历原始矩阵中的每个元素,并将其赋值给新矩阵的对应位置。最后,我们返回一个新的Matrix对象,其中包含转置后的行列数和数据。
需要注意的是,这里的转置函数没有改变原始矩阵的值,而是返回了一个新的矩阵对象。如果需要对原始矩阵进行转置,可以在转置函数中直接修改data成员变量的值,而不是返回一个新的Matrix对象。
阅读全文