您的位置:首页 > 其它

输出二维环形数组中最大子数组和

2015-04-03 13:14 183 查看
组员 石鹤李海超

一、题目

输出二维环形数组中最大子数组和

二、设计思想

把解决一维环形数组,和普通二维数组的方法结合起来街是解决二维环形数组的方法。

三、源代码

#include<iostream.h>
#include<time.h>
#include<stdlib.h>
int qiumax(int arry[],int max)
{
int i;
long sum;
for(i=0;i<5;i++)
{
for(i=0;i<5;i++)
{
arry[i+5]=arry[i];
}
}
for(int j=0;j<5;j++)
{
sum=0;
for(int k=j;k<5+j;k++)
{
sum=sum+arry[k];
if(sum>max)
{
max=sum;
}
}
}
return max;
}
int main()
{
int qiumax(int arry[10],int max);
int i,j,k;
int arry[5][10]={{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1}};
int arry1[10]={0,0,0,0,0,0,0,0,0,0};
int max=arry[0][0];
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
arry[i][j+5]=arry[i][j];
}
}
for(i=0;i<5;i++)
{
for(j=i;j<5;j++)
{
for( k=0;k<5;k++)
{
arry1[k]+=arry[j][k];
}
max=qiumax(arry1,max);
}
for(k=0;k<10;k++)
{
arry1[k]=0;
}
}
cout<<"MAX IS"<<" "<<max<<endl;
return 0;
}


四、结果截图



五、实验心得

本次实验并不很难,只需把前两次的想法结合起来,修改下前两次的程序即可。

但在调用函数传参是我俩遇到了麻烦,改正后对传参有了更深的认识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐