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

环数组求最大子数组的和

时间:2015-04-16 01:07:27      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

    在结对开发的过程中,每个人分担不同的任务,由于我们在学习阶段,所以我自己也编写了一段小程序,但是总是缺少一个限制条件,让这段代码停下来,下面这段代码是我的同伴编写的,我只是做了一个测试。

 

#include<iostream>
using namespace std;

void main()
{
    int length;   //数组的个数
    int n;       //数组变化后的长度
    cout<<"请输入数组元素个数:"<<endl;
    cin>>length;
    n=2*length;    

    int *a=new int[n];  //定义数组
    cout<<"请输入数组的元素:"<<endl;
    for(int i=0;i<length;i++)// for循环依次输入数组的元素
    {
        cin>>a[i];
    }
    int max=a[0];   // 首先定义max并且赋予第一个数组中的元素值
    int s=0;   //定义s值,s值为数组元素之和并且与max值比较
    for(int i=0;i<length;i++)
    {
        s=0;    
        for(int j=i;j<length+i;j++)
        {
            s=s+a[j];
            if(s>max)
            {
                max=s;
            }    
        }
        a[length+i]=a[i];
    }
    cout<<endl;
    cout<<"最大子数组的和为:"<<endl;
    cout<<max<<endl;
}
技术分享

技术分享

技术分享

在上面三个截图中我针对5个元素做了测试,第一个是首尾加起来是最大数组,第二个是数组之内就能完成求最大字数组,第三个是负数特别多的时候的一个结果。
功能不是太完善。

环数组求最大子数组的和

标签:

原文地址:http://www.cnblogs.com/jump/p/4430547.html

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