您的位置:首页 > 编程语言

二维数组内 求最大矩形范围和 代码 李士广 徐晓勋

2014-04-01 22:59 218 查看
#include<iostream.h>
float MAX(float **a,int m,int n,int M,int N)
{
float max=a[m]
;
float sum;
for(int i=m;i<M;i++)
{
for(int j=n;j<N;j++)
{
sum=0;
for(int p=m;p<=i;p++)
{
for(int q=n;q<=j;q++)
{ sum=sum+a[p][q];}
}
if(sum>max)
max=sum;

}
}
return max;
}
void main()
{
int m,n;
float **arr;
cout<<"请输入二维数组aXb:";
cin>>m>>n;
arr=new float* [m]; //分配指针数组
for(int i=0; i<m; i++)
{
arr[i] = new float
; //分配每个指针所指向的数组
}
cout<<"请输入而为数组的值:";
for(i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>arr[i][j];
}
}
float **max;
max=new float* [m]; //分配指针数组
for(i=0; i<m; i++)
{
max[i] = new float
; //分配每个指针所指向的数组
}
for(i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
max[i][j]=MAX(arr,i,j,m,n);
}
}
float Max=max[0][0];
for(i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(max[i][j]>Max)
Max=max[i][j];
}
}
cout<<"最大矩形范围和是:"<<Max<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐