A-A+

以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回

2022-08-06 02:51:16 问答库 阅读 175 次

问题详情

以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。
include<iostream>
define N 3
define M 3
using namespace std;
int select(int a[N][M],int *n)
{
int i,j,row=0,colum=0;
for(i=0;i<N;i++)
for(i=0;j<M;j++)
if(a[i][j]>a[row][colum])
{
row=i;
colum=j;
}
*n=【 】;
return 【 】;
}
int main()
{
int a[N][M]={9,11,23,6,1,15,9,17,20};
int max,n;
max=select(a,&n);
cout<<"max="<<max<<"line="<<n<<end1;
return 0;
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:rowa[row][colum]
rowa[row][colum] 解析:通过对题意的分析不难看出:在select()函数中,变量row的作用是用来标记最大元素的行下标值,colum的作用是用来记下最大元素的列下标:函数select()通过循环求得数组的最大值的行下标、列下标并分别存放在变量row和colum中。根据题意,应把行下标赋值给形参指针变量n,这样就通过地址传递的方式改变了主调函数中的实参,即把最大值的行下标传回到主调函数中。然后把最大值a[row][colum]作为函数返回值。

考点:函数,最大值