码迷,mamicode.com
首页 > 编程语言 > 详细

返回一个整数数组中最大的子数组的和。

时间:2018-11-04 19:34:45      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:最大的   define   网上   整数   总结   out   显示   end   std   

#include<iostream>
using namespace std;
#define N 1000
int main()
{
    int i,j;
    int num,value,max=0;
    int val[N];
    int Array[N];
    int firstNum=0,lastNum=0;
    cout<<"输入数的个数:";
    cin>>num;
    for(i=0;i<num;i++)
    {
        cin>>val[i];
    }
    value=0;
    for(i=0;i<num;i++)
    {
        value=value+val[i];
        if(value>max)
        {
            max=value;
            lastNum=i;
        }
        if(value<0)
        {
            value=0;
            firstNum=i+1;
        }
    }
    if(max==0)
    {
       max=val[0];
       firstNum=0;
       lastNum=0;
       for(j=0;j<num;j++)
       {
           if(max<val[j])
           {
               max=val[j];
               firstNum=j;
               lastNum=j;
           }
       }
    }
    cout<<"最大子数组是:";
    for(i=firstNum;i<=lastNum;i++)
    {
        cout<<val[i]<<" ";
    }
    cout<<endl;
    cout<<"最大子数组的和为:";
    cout<<max<<endl;
}

技术分享图片

技术分享图片

写代码:侯志龙    审核测试:李杰

设计思想:首先确定如何用代码实现对数组的遍历,如何进行循环,然后需要考虑如何筛选出结果最大的数组,最后把筛选出的数组显示出来。

总结:本项目看上去不是太复杂,但是非常讲究算法,两个人结对开发,一起讨论,一起想解决方案,一起网上查找算法,更加锻炼了结对开发的能力,

在这过程中虽然有很多困难,但在我们两个合作下还是解决啦,但还有很多不足,希望可以更好。

返回一个整数数组中最大的子数组的和。

标签:最大的   define   网上   整数   总结   out   显示   end   std   

原文地址:https://www.cnblogs.com/JustinTimberlake/p/9904628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!