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没有定义,编写时细心程度不够。

     

               

  • 相关阅读:
    vue封装axios请求
    搭建vue开发环境
    webpack搭建vue环境报错
    JS的执行顺序 setTimeout与Promise async/await
    position属性脱离文档流覆盖其他内容
    MVC和MVT
    HTTP常见请求方式(get,post,put,delete)
    三次握手四次挥手
    web工作流程,中间件,请求顺序
    Vue整理
  • 原文地址:https://www.cnblogs.com/chysly/p/3591607.html
Copyright © 2011-2022 走看看