C++编写并测试33矩阵转置函数保存33矩阵。要求使用动态内存分配生成动态数组使用指针实现函数的功能。
#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/7Zf 著作权归作者所有。请勿转载和采集!