zoukankan      html  css  js  c++  java
  • 小组作业提交报告

                                                                              关于求整数数组最大子数组和的设计文档

                                                                                                             ——杨波 崔海营

          当看到问题时,我们首先选用了一个小例子进行分析,我们假设数组为1 ,2, 3, 4, 5,要求得所有子数组的个数为{[n*(n-1)]/2}+n,所以可算出该例子中所有子数组的个数是15。进而我们就讨论如何编码能够得到所有的子数组的和,然后再通过比较求得最大的子数组之和,进而得到最终结果。整个讨论过程如下图所示:

    经过讨论后我们的到了如下的代码:

    #include<iostream>
    using namespace std;
    int main()
    {
        int    num[5];
        int sum[15];
        int k=0;
        int temp;
        int max;
        for (int i=0;i<5;i++)
        {
          cin>>num[i];
        }  
        for( i=0;i<5;i++)
       {
           temp=num[i];
           sum[k]=temp;
           k++;
           for(int j=i+1;j<5;j++)
           {
                
               temp=temp+num[j];
               sum[k]=temp;
               k++;
           }
       }
       max=sum[0];
       for(int j=0;j<15;j++)
       {
           if(max<sum[j])
           {
               max=sum[j];
           }
       }
       cout<<"最大子数组和"<<max<<endl;
       return 0;
    } 

    并且经过测试可以得到正确的结果:
    测试:5  -1  8  -5  9

    可得到结果:最大子数组的和为16

         在代码的编译测试阶段所遇到的问题:

          1).头文件书写错误,可能是太粗心了;

          2).变量j没有定义,编写时细心程度不够。

     

               

  • 相关阅读:
    邮箱短信验证码轰炸机
    yalmip+cplex+matlab
    elsevier
    氢能重卡笔记
    Java调试大法,来了~
    极致用户体验:论批量处理接口的性能优化之道
    榨干服务器:一次惨无人道的性能优化
    技术泥潭,你不得不防!
    技术实力的本质是什么?
    服务间是否应该提供批量接口?
  • 原文地址:https://www.cnblogs.com/chysly/p/3591607.html
Copyright © 2011-2022 走看看