c++返回二维数组的最大元素和它所在的行、列号?

代码在图片中,求指教!!!

在 C++ 中,可以使用函数返回二维数组的最大元素及其所在行、列号。下面是一个示例代码:

```cpp
#include <iostream>
using namespace std;

const int ROWS = 3;
const int COLS = 4;

void findMax(int arr[][COLS], int& maxVal, int& row, int& col) {
maxVal = arr[0][0];
row = 0;
col = 0;

for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (arr[i][j] > maxVal) {
maxVal = arr[i][j];
row = i;
col = j;
}
}
}
}

int main() {
int arr[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};

int maxVal, row, col;
findMax(arr, maxVal, row, col);

cout << "数组的最大元素为:" << maxVal << endl;
cout << "它所在的行号为:" << row + 1 << endl; // 行号从 1 开始
cout << "它所在的列号为:" << col + 1 << endl; // 列号从 1 开始

return 0;
}
```

在上述代码中,我们定义了一个常量 `ROWS` 和 `COLS`,分别表示二维数组的行数和列数。然后,我们实现了一个名为 `findMax()` 的函数,用于查找并返回二维数组的最大元素及其所在行、列号。在函数内部,我们首先将最大元素初始化为数组的第一个元素 `arr[0][0]`,然后遍历整个数组,每次比较当前元素和最大元素的大小,并更新最大元素及其所在行、列号。最后,在 `main()` 函数中调用 `findMax()` 函数,并输出计算结果到控制台中。

需要注意的是,在实际应用中,还需要考虑越界异常等问题,以确保程序的正确性和稳定性。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-27
int max=a[0][0];
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)

if(a[i][j]>max){
max=a[i][j];

*r=i;

*c=j;

}
return max;追答

嗯,应该在int max=a[0][0];后面加上*r=0;*c=0;

本回答被提问者采纳
第2个回答  2020-03-29
int max=a[0][0];
for(int i=0;i<3;i++)
for(int j=0;j<2;j++)

if(a[i][j]>max){
max=a[i][j];

*r=i;

*c=j;

}
return max;