#include using namespace std;

void transpose(int** matrix) { // 转置矩阵 for (int i = 0; i < 3; i++) { for (int j = i+1; j < 3; j++) { int temp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = temp; } } }

int main() { // 生成33矩阵 int** matrix = new int[3]; for (int i = 0; i < 3; i++) { matrix[i] = new int[3]; }

// 初始化矩阵
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        matrix[i][j] = i * 3 + j + 1;
    }
}

// 输出原矩阵
cout << '原矩阵:' << endl;
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        cout << matrix[i][j] << ' '; 
    }
    cout << endl;
}

// 转置矩阵
transpose(matrix);

// 输出转置矩阵
cout << '转置矩阵:' << endl;
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        cout << matrix[i][j] << ' '; 
    }
    cout << endl;
}

// 释放内存
for (int i = 0; i < 3; i++) {
    delete[] matrix[i];
}
delete[] matrix;

return 0;

}

C++ 动态内存分配实现3x3矩阵转置:指针操作与测试

原文地址: https://www.cveoy.top/t/topic/mwVK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录