2、有一个3×4的矩阵,键盘输入矩阵元素,要求输出矩阵,以及其中值最大和最小元素的值和它们的行号和列号。
时间: 2024-12-02 16:19:37 浏览: 36
要实现这个功能,你可以使用C++来创建一个二维数组(matrix)来存储用户输入的元素,然后遍历数组找到最大值和最小值及其位置。以下是一个简单的程序结构:
```cpp
#include <iostream>
using namespace std;
int main() {
int matrix[3][4]; // 创建一个3x4的整数矩阵
int max_value, min_value;
int max_row = -1, max_col = -1;
int min_row = 0, min_col = 0; // 初始假设最小值在第一行第一列
// 输入矩阵元素
cout << "请输入矩阵元素 (以空格分隔): ";
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
cin >> matrix[i][j];
if(matrix[i][j] > max_value) { // 如果当前元素大于最大值,更新最大值和其位置
max_value = matrix[i][j];
max_row = i;
max_col = j;
}
if(matrix[i][j] < min_value || min_value == 0) { // 如果当前元素小于最小值或还未设置最小值,更新最小值和其位置
min_value = matrix[i][j];
min_row = i;
min_col = j;
}
}
}
// 输出矩阵
cout << "矩阵为:\n";
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 4; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
// 输出最大值和最小值及其位置
cout << "最大值 (" << max_value << ") 在第 " << max_row+1 << " 行第 " << max_col+1 << " 列。\n";
cout << "最小值 (" << min_value << ") 在第 " << min_row+1 << " 行第 " << min_col+1 << " 列。\n";
return 0;
}
```
在这个程序中,我们首先定义了一个3x4的二维数组,然后通过两个嵌套循环接收用户的输入,并同时检查每个新输入是否比当前的最大值或最小值大/小。最后,我们会打印出整个矩阵以及最大值和最小值及其所在的行和列。
阅读全文