C++ 动态内存分配实现3x3矩阵转置:指针操作与测试
#include
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;
}
原文地址: https://www.cveoy.top/t/topic/mwVK 著作权归作者所有。请勿转载和采集!