您的位置:首页 > 其它

输出一维环形数组中最大子数组和最大子数组的位置

2015-03-30 18:26 225 查看
组员石鹤李海超

一、题目

输出一维环形数组中最大子数组的和和最大子数组的位置

二、设计思想

把原数组扩大一倍,再把原数组放到后边,只需改变上次试验是循环变量即可求出最大子数组的和。

三、源代码

#include<iostream.h>
#include<time.h>
#include<stdlib.h>
intmain()
{
intarry[20];
intstart,end,i;
longsum,max;
cout<<"Pleaseinput10numbers:"<<endl;
for(i=0;i<10;i++)
{
cin>>arry[i];
arry[i+10]=arry[i];
}
max=arry[0];
start=0;
end=0;
for(intj=0;j<10;j++)
{
sum=0;
for(intk=j;k<10+j;k++)
{
sum=sum+arry[k];
if(sum>max)
{
max=sum;
start=j+1;
end=k+1;
}
}
}
cout<<"MAXIS"<<""<<max<<endl;
cout<<"START:"<<"The"<<""<<start<<"th"<<""<<"number"<<""<<"END:"<<"The"<<""<<end%10<<"th"<<""<<"number"<<endl;
cout<<"Thesenumbersare:";
for(intc=0;c<end-start+1;c++)
{
cout<<arry[start+c-1]<<"";
}
}


四、结果截图



五、实验心得

实验中没有遇到太大问题,我俩显示讨论得出了设计思想,然后经过对上次题目的改进的除了这次试验的程序,运行正确。

希望以后继续进步。

六、相片




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐