题目
写一个类,类里边实现两个函数,一个随机生成一个3*3的正整数矩阵,一个将这个矩阵绕中心顺时针旋转一个元素
#include <iostream>
#include <ctime>
#include <cstdlib>
class MatrixHandler {
public:
int** generateMatrix() {
int** matrix = new int*[3];
for (int i = 0; i < 3; i++) {
matrix[i] = new int[3];
for (int j = 0; j < 3; j++) {
matrix[i][j] = rand() % 10 + 1;
}
}
return matrix;
}
int** rotateMatrix(int** matrix) {
int** rotatedMatrix = new int*[3];
for (int i = 0; i < 3; i++) {
rotatedMatrix[i] = new int[3];
}
rotatedMatrix[0][0] = matrix[2][0];
rotatedMatrix[0][1] = matrix[1][0];
rotatedMatrix[0][2] = matrix[0][0];
rotatedMatrix[1][0] = matrix[2][1];
rotatedMatrix[1][1] = matrix[1][1];
rotatedMatrix[1][2] = matrix[0][1];
rotatedMatrix[2][0] = matrix[2][2];
rotatedMatrix[2][1] = matrix[1][2];
rotatedMatrix[2][2] = matrix[0][2];
for (int i = 0; i < 3; i++) {
delete[] matrix[i];
}
delete[] matrix;
return rotatedMatrix;
}
};
int main() {
MatrixHandler handler;
int** matrix = handler.generateMatrix();
std::cout << "原始矩阵:" << std::endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
int** rotatedMatrix = handler.rotateMatrix(matrix);
std::cout << "旋转后矩阵:" << std::endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << rotatedMatrix[i][j] << " ";
}
std::cout << std::endl;
}
for (int i = 0; i < 3; i++) {
delete[] rotatedMatrix[i];
}
delete[] rotatedMatrix;
return 0;
}