C++编程问题:自定义一个子函数求一个double型二维数组某一列的最大值,该二维数的行数和列数待定

如从键盘中输入行数5,列数3,并输入这15个数组元素,则double Max(Z,5,3,1)表示求这个5行3列的二维数组Z第1列元素的最大值;
又如:从键盘中输入行数9,列数7,并输入这63个数组元素,则double Max(Z,9,7,5)表示求这个9行7列的二维数组Z第7列元素的最大值;
总之:从键盘中输入行数M,列数N,并输入这(MxN)个数组元素,则double Max(Z,M,N,n)表示求这个M行N列的二维数组Z第n列元素的最大值;
有一个地方打错了,第四行那里是第5列

#include<iostream.h>
double Max(double *z, int r, int c, int n){
double m=*(z+n);
int i;
for(i=1; i<r; i++)
if(*(z+i*c+n)>m)
m=*(z+i*c+n);
return m;
}

int main()
{
int row,col,i,j,n;
double *p,max;
cout <<"row=?";
cin >>row;
cout <<"col=?";
cin >>col;
p=new double[row*col];
for(i=0; i<row; i++)
for(j=0; j<col; j++){
cout <<"p[" <<i <<"][" <<j <<"]=?";
cin >>*(p+i*col+j);
}
cout <<"n=?";
cin >>n;
max=Max(p,row,col,n);
cout <<"max=" <<max <<endl;
return 0;
}追问

你这个Z他是二维数组吗?

温馨提示:答案为网友推荐,仅供参考
相似回答