编写C++程序,实现提取矩阵的某一行或某一列
时间: 2024-03-29 18:40:09 浏览: 14
好的,下面是一个简单的 C++ 程序,用于提取矩阵的某一行或某一列。其中,我们使用二维数组来表示矩阵。
```c++
#include <iostream>
using namespace std;
const int MAX_ROW = 100;
const int MAX_COL = 100;
void extractRow(int matrix[MAX_ROW][MAX_COL], int row, int col) {
for (int j = 0; j < col; j++) {
cout << matrix[row][j] << " ";
}
cout << endl;
}
void extractCol(int matrix[MAX_ROW][MAX_COL], int row, int col) {
for (int i = 0; i < row; i++) {
cout << matrix[i][col] << endl;
}
}
int main() {
int matrix[MAX_ROW][MAX_COL];
int row, col;
// 获取矩阵的行数和列数
cout << "请输入矩阵的行数和列数:";
cin >> row >> col;
// 获取矩阵的元素
cout << "请输入矩阵的元素:" << endl;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cin >> matrix[i][j];
}
}
// 提取某一行
int extractRowNum;
cout << "请输入要提取的行数:";
cin >> extractRowNum;
if (extractRowNum < 0 || extractRowNum >= row) {
cout << "输入的行数不合法!" << endl;
} else {
cout << "提取的第 " << extractRowNum << " 行为:" << endl;
extractRow(matrix, extractRowNum, col);
}
// 提取某一列
int extractColNum;
cout << "请输入要提取的列数:";
cin >> extractColNum;
if (extractColNum < 0 || extractColNum >= col) {
cout << "输入的列数不合法!" << endl;
} else {
cout << "提取的第 " << extractColNum << " 列为:" << endl;
extractCol(matrix, row, extractColNum);
}
return 0;
}
```
这个程序中,我们定义了两个函数 `extractRow` 和 `extractCol`,用于提取矩阵的某一行或某一列。在主函数中,我们首先获取矩阵的行数和列数,然后获取矩阵的元素。接着,我们分别提取某一行和某一列,输出结果即可。
注意,这里假设矩阵的行数和列数都不超过 100。如果需要处理更大的矩阵,可以将 `MAX_ROW` 和 `MAX_COL` 的值调大。