编写函数,实现矩阵的行和列逆置。在main函数中验证。要求:矩阵行数、列数、矩阵元素均在main函数中由键盘输入,逆置后的矩阵在main函数中输出。
时间: 2024-03-19 18:45:46 浏览: 41
好的,以下是实现矩阵行和列逆置的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int row, col;
cout << "请输入矩阵的行数和列数:" << endl;
cin >> row >> col;
int matrix[row][col];
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cin >> matrix[i][j];
}
}
// 行逆置
for (int i = 0; i < row; i++) {
for (int j = 0; j < col / 2; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[i][col - j - 1];
matrix[i][col - j - 1] = temp;
}
}
// 列逆置
for (int i = 0; i < row / 2; i++) {
for (int j = 0; j < col; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[row - i - 1][j];
matrix[row - i - 1][j] = temp;
}
}
cout << "逆置后的矩阵为:" << endl;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在上面的代码中,我们首先从键盘输入矩阵的行数和列数,然后依次输入矩阵的元素。接着,我们分别对矩阵的每一行和每一列进行逆置,最后输出逆置后的矩阵。
需要注意的是,当矩阵的行数或列数是奇数时,行逆置和列逆置的处理方式略有不同,上面的代码中已经考虑到了这种情况。
阅读全文