编写一个函数,输入一个整型二维数组,输出其中最大值所在的行号和列号,以及最大值

要求用指针进行值的传递

#include <stdio.h>
#include <malloc.h>
void maxp(int** ia,int r,int c,int* x,int* y,int* max)
{
*max=ia[0][0];
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
if(*max<ia[i][j])
{
*max=ia[i][j];
*x=i;
*y=j;
}
}
}
}

int main()
{
int r,c,i,j;
int max,x,y;
printf("输入矩阵行数和列数 空格分开:");
scanf("%d%d",&r,&c);
int** m=(int**)malloc(sizeof(int*)*r);
for(i=0;i<r;i++)
{
m[i]=(int*)malloc(sizeof(int)*c);
}
printf("输入数据:");
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
{
scanf("%d",&m[i][j]);
}
}
maxp(m,r,c,&x,&y,&max);
printf("最大值是m[%d][%d]:%d\n",x,y,max);
for(i=0;i<r;i++)
{
free(m[i]);
}
free(m);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-07
void fun3(int a[][N],int m,int &row,int &col) //m表示行,n表示列 { int i,j,temp; temp = a[0][0]; for(i = 0;i < m;i++