注意:二维数组名是行指针
/*
定义一个二维数组,写函数来实现对该二维数组求最大值。
(要求,用行指针为函数形参)
*/
#include <iostream>
using namespace std;
void input(int (*p)[4],int n);
void output(int (*p)[4],int n);
int max_Array(int (*p)[4],int n);
int main()
{
int a[3][4];
cout<<"请输入一个3行4列的二维数组元素"<<endl;
input(a,3);
cout<<"您输入的二维数组为:"<<endl;
output(a,3);
cout<<"the max of array is "<<max_Array(a,3)<<endl;
return 0;
}
void input(int (*p)[4],int n) //二维数组输入, 形参p为行指针,n为行数
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<4;j++)
cin>>*(*(p+i)+j);
}
void output(int (*p)[4],int n) //二维数组输出, 形参p为行指针,n为行数
{
int i,j;
for(i=0;i<n;i++)
{for(j=0;j<4;j++)
cout<<*(*(p+i)+j)<<" ";
cout<<endl;
}
}
int max_Array(int (*p)[4],int n) //二维数组求最大值, 形参p为行指针,n为行数
{
int i=0,j=0,max;
max=*(*(p+i)+j);
for(i=0;i<n;i++)
{for(j=0;j<4;j++)
if(*(*(p+i)+j)>max)
max=*(*(p+i)+j);
}
return max;
}