有一个整型二维数组,大小为m*n, 找出最大值所在的行和列,以及该最大值。
/*有一个整型二维数组,大小为m*n,找出最大值所在的行和列,以及该最大值。
此程序要求 :
(1)一个输入函数void inputmatrix(int a[][],int m,int n),
(2) 一个输出函数void outputmatrix(int *p,int m,int n),
(3)用一个函数int max(int *p, int m,int n)
实现最大值的寻找,并在max函数中使用指针解决,
m和n为该函数的形参,m,n用符号常量或者常变量表示,将最大值返回。*/
哪里错啊?怎么改
#include<stdio.h>
int a[3][4];
void inputmatrix()//输入函数
{
int i,j;
printf("空格隔开输入数值:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
void outputmatrix(int *p)//输出函数
{
int i,j;
for(i=0;i<3;i++)
{for(j=0;i<4;i++)
if(a[i][j]==*p) printf("%d,%d,%d",a[i][j],i,j);
}
}
void max(int *p) //实现最大值的寻找
{
int *q;
p=a[0];
for(q=a[0];q<a[0]+12;q++)
{
if(*q>*p) p=q;
}
}
int main() //主函数
{
void inputmatrix(); //输入函数
void outputmatrix(int *p); //输出函数
void max(int *p); //实现最大值的寻找
int i,j;
int *p;
inputmatrix(); //输入函数
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max(p); //实现最大值的寻找
outputmatrix(p); //输出函数
getch();
return 0;
}