按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。 void InputArray(int
时间: 2024-02-06 19:12:29 浏览: 59
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
m, int n, int arr[][10]);
void FindMax(int m, int n, int arr[][10], int& maxVal, int& maxRow, int& maxCol);
函数InputArray用于从键盘输入m行n列的二维数组,函数FindMax用于查找数组中的最大值及其所在的行列下标值。
下面是函数InputArray和函数FindMax的实现代码:
```
#include <iostream>
using namespace std;
void InputArray(int m, int n, int arr[][10])
{
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
cin >> arr[i][j];
}
}
}
void FindMax(int m, int n, int arr[][10], int& maxVal, int& maxRow, int& maxCol)
{
maxVal = arr[0][0];
maxRow = 0;
maxCol = 0;
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
if(arr[i][j] > maxVal)
{
maxVal = arr[i][j];
maxRow = i;
maxCol = j;
}
}
}
}
int main()
{
int m, n;
int arr[10][10];
int maxVal, maxRow, maxCol;
cout << "Please enter the number of rows and columns of the array:" << endl;
cin >> m >> n;
cout << "Please enter the array elements:" << endl;
InputArray(m, n, arr);
FindMax(m, n, arr, maxVal, maxRow, maxCol);
cout << "The maximum value in the array is " << maxVal << endl;
cout << "Its row index is " << maxRow << endl;
cout << "Its column index is " << maxCol << endl;
return 0;
}
```
在上面的代码中,函数InputArray通过循环遍历二维数组,并利用cin从键盘输入数组元素的值。函数FindMax首先将数组中第一个元素的值设为最大值,然后遍历整个数组,如果发现比当前最大值更大的元素,就将最大值更新为该元素的值,并记录该元素的行列下标。最后,主函数输出最大值及其所在的行列下标。
阅读全文