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

     

               

  • 相关阅读:
    Java DB 访问(三)mybatis mapper interface接口
    android stdio 安装后gradle 编译失败,设置代理不管用
    超星自动签到并邮件通知
    关于解决Mac使用docker安装SQL server for Linux 中文乱码问题
    Bom简单介绍
    grid-layout
    Position
    前端学习(注册表)
    关于学精通一门语言的个人看法(欢迎留言补充)
    Google 最新推出数据集搜索
  • 原文地址:https://www.cnblogs.com/chysly/p/3591607.html
Copyright © 2011-2022 走看看