C++在主函数定义一个3乘4矩阵的二维数组,从键盘输入数据,输出顺序为行号 最大值 列号
时间: 2024-12-30 08:39:05 浏览: 13
在C++中,你可以通过以下几个步骤来定义一个3乘4的矩阵,并从键盘获取输入,然后按行输出每个元素的最大值及其对应的列号:
1. 首先,定义一个二维数组(动态内存分配可以避免固定大小限制):
```cpp
#include <iostream>
using namespace std;
int** createMatrix(int rows, int cols);
```
2. 定义一个函数用于创建并初始化矩阵,这里使用指针数组表示二维数组:
```cpp
int** createMatrix(int rows, int cols) {
int** matrix = new int*[rows];
for (int i = 0; i < rows; ++i) {
matrix[i] = new int[cols];
for (int j = 0; j < cols; ++j) {
cout << "Enter element (" << i+1 << "," << j+1 << "): ";
cin >> matrix[i][j];
}
}
return matrix;
}
```
3. 然后编写主函数,遍历数组,找出每个元素的最大值及其索引,并输出:
```cpp
void printMaxValuesAndIndex(int** matrix, int rows, int cols) {
for (int i = 0; i < rows; ++i) {
int maxVal = matrix[i][0];
int maxCol = 0;
for (int j = 1; j < cols; ++j) {
if (matrix[i][j] > maxVal) {
maxVal = matrix[i][j];
maxCol = j;
}
}
cout << "Row " << (i+1) << ": Max value is " << maxVal << " at column " << (maxCol + 1) << endl;
}
}
int main() {
int rows = 3, cols = 4;
int** matrix = createMatrix(rows, cols);
// Process the matrix...
printMaxValuesAndIndex(matrix, rows, cols);
// Don't forget to free memory after use:
for (int i = 0; i < rows; ++i)
delete[] matrix[i];
delete[] matrix;
return 0;
}
```
在这个程序中,用户会按照提示输入矩阵的元素,然后在`printMaxValuesAndIndex`函数中找到每行的最大值及对应列号并打印。
阅读全文