zoukankan      html  css  js  c++  java
  • 一维数组中求最大子数组的和

    题目:

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

    要求:

      要求程序必须能处理1000 个元素;

      每个元素是int32 类型的;

      输入一个整形数组,数组里有正数也有负数。

      数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

      求所有子数组的和的最大值。

    (我主要负责程序分析,代码编程;张金负责代码复审,代码测试计划。)

     

    #include<stdlib.h>
    #define AMOUNT 1000
     
    int main()
    {
        long int arr[AMOUNT];
        long int arrCopy[AMOUNT];
        long int max[AMOUNT];
        int i,j;
        int n;
        int start,rear;     //子数组的开始,结束
        int mount=AMOUNT;
        for(i=0;i<mount;i++)
        {
        try
        {
                n=rand()%2;
                if(n==0)
            {
            arr[i]=rand();
            arrCopy[i]=arr[i];
            max[i]=arr[i];
            }
            else
            {
            arr[i]=-rand();
            arrCopy[i]=arr[i];
            max[i]=arr[i];
            }
        }
        catch(long int e)
        {
            cout<<"Long Inter=ger Exception!"<<endl;
        }
        }
        cout<<"Array :"<<endl;
        for(i=0;i<mount;i++)
        {
            cout<<arr[i]<<"  ";
        if((i+1)%10==0)
        {
            cout<<endl;
        }
        }
        for(j=0;j<mount-1;j++)
        {
            for(i=j+1;i<mount;i++)
            {
                try
            {  
            arr[j]=arr[j]+arr[i];
            if(max[j]<arr[j])
            {
                max[j]=arr[j];
                rear=i+1;
            }
                }
            catch(long int e)
            {
            cout<<"Long Inter=ger Exception!"<<endl;
            }
            }
        }
        for(i=0;i<mount;i++)
        {
            if(max[0]<max[i])
        {
                max[0]=max[i];
            start=i+1;
        }  
        }
        cout<<endl;
        cout<<"从第"<<start<<"个数"<<arrCopy[start-1]<<"开始"<<endl;
        cout<<"到第"<<rear<<"个数"<<arrCopy[rear-1]<<"结束"<<endl;
        cout<<"子数组和的最大值为: "<<max[0]<<endl;
        return 0;
    }
                         
    总结:做起来比较吃力,不过有了一定的体会,日后把心思多放在学习上一些,希望我能较快进入状态。
  • 相关阅读:
    织梦调用所有栏目一级二级三级和无限级栏目输出
    织梦添加自定义独立模型缩略图字段官方的一个BUG
    织梦搜索结果增加dede:type、dede:arclist、dede:channelartlist、dede:tag等标签支持
    织梦搜索指定多个栏目的文档
    POJ 1001
    #207 Div.2 B. Flag Day
    sublime Text 2 配置 C++ 编译环境
    1011. 复数类
    1008. 二哥买期货
    MySQL/mariadb知识点——视图管理语句
  • 原文地址:https://www.cnblogs.com/LJT666/p/4388579.html
Copyright © 2011-2022 走看看