怎样定义一个动态的二维数组,再求均值、求最大值?
不会搞T_T,许多bug,我小白一个,求大佬解答,我的程序是这样(能改好吗T_T):#include <iostream>
using namespace std;
#include<iomanip>
using std::setw;
int max_a(int[][],int,int);
float mean_a(int[][],int,int);
int main()
{ int m,n;
cout<<setw(8)<<"元素"<<setw(13)<<"数值"<<endl;
cout<<"请输入二维数组的行数和列数"<<endl;
cin>>m>>n;
int myint[m][n];
int sum=0;
for(int j=0;j<m;j++)
for(int i=0;i<n;i++)
{
myint[j][i]=j*i;
sum=sum+myint[j][i];
cout<<"myint[" <<j <<"]" <<"["<< i <<"] "<<myint[j][i]<<" ";
cout<<endl;
}
cout<<"二维数组元素的总和为"<<sum<<endl;
cout<<"二维数组元素的最大值为"<<max_a(myint[m][n],m,n)<<endl;
cout<<"二维数组元素的平均值为"<<mean_a(myint[m][n],m,n)<<endl;
return 0;
};
int max_a(int myint[m][n],int m,int n)
{
int b=myint[0][0];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(myint[i][j]>b)b=myint[i][j];
};
return b;
};
int mean_a(int myint[m][n],int m;int n)
{
int d=0,e;
for(int i=0;i<m;i++)
for(int j=0;j<m;j++)
{
d=d+myint[i][j];
};
e=d/(m+n);
return e;
}