zoukankan      html  css  js  c++  java
  • 结对初体验--找出和最大的字数组

    结队人员 信1201-1班 曹美娜 袁亚姣

    一、题目要求与结对开发要求

    1、题目:
         返回一个整数数组中最大子数组的和。
    2、要求:
        输入一个整形数组,数组里有正数也有负数。
        数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
        求所有子数组的和的最大值。要求时间复杂度为O(n)。 
    3、结对开发要求 
        两人结对完成编程任务。
        一人主要负责程序分析,代码编程。
        一人负责代码复审和代码测试计划。
       发表一篇博客文章讲述两人合作中的过程、体会以及如何解决冲突(附结对开发的工作照)。
    二、程序设计思想
      该程序的主要问题是如何找到所有的子数组并求和,我们采用的方法是依次找出包含数组中第i个元素的所有连续的子数组,求出每次的最大值保存在另外一个数组中,最后求出该数组中的最大值,图解步骤如下:
     用户输入数组:(a1,a2,a3,a4)
    包含第一个元素的所有子数组集合{(a1),(a1,a2),(a1,a2,a3),(a1,a2,a3,a4)} 
    包含第二个元素的所有子数组集合{(a2),(a2,a3),(a2,a3,a4)}
    包含第三个元素的所有子数组集合{(a3),(a3,a4)}
    包含第四个元素的所有子数组集合{(a4)}
    依次求出以上集合各数组元素和的中最大值
    三、程序源代码
     1  //程序开发者:曹美娜、袁亚姣
     2  //程序开发时间:2015/3/18
     3   
     4  #include "stdio.h"
     5 #define N 1000 
     6 int compare( int arry[],int length)
     7 {
     8     int max[N],max1;
     9     for(int j=0;j<length;j++)
    10     {
    11         int sum=0;
    12         max1=-12345;
    13         for(int i=j;i<length;i++)
    14         {
    15             sum=sum+arry[i];
    16             if(sum>=max1)
    17                 max1=sum;
    18         }
    19         max[j]=max1;
    20         printf("包含数组中第%d个数的所有子数组中和最大的值为:%d
    ",j,max[j]);
    21     }
    22     int fmax=max[0];
    23     for(int i=0;i<length;i++)
    24     {    
    25         if(max[i]>fmax)
    26             fmax=max[i];
    27     }
    28     printf("所有子数组的和的最大值为:%d
    ",fmax);
    29     return 0;
    30 }
    31 int main(int argc, char* argv[])
    32 {
    33     int arry[N];
    34     int length;
    35     printf("请输入要比较整数的个数:");
    36     scanf("%d",&length);
    37     printf("请输入整数");
    38     for(int i=0;i<length;i++)
    39     {
    40         scanf("%d",&arry[i]);
    41     }
    42     compare(arry,length);
    43     return 0;
    44 }

    四、运行结果

    五、心得体会

    在这次合作过程中,我们充分体会到了结对的快乐。之前我们自己做可能有许多不会的地方,两个人在一起取长补短,一起商量。既提高了代码的质量,又提高了我们自己的水平;

    我们会比一个人想的更加全面;当然也可能有反面作用,比如一个人不做了,然后都不做了。。不过我们只要正确的对待自己的小伙伴,我相信我们都可以在团队合作中得到提高。

    最后pop工作合照一张

  • 相关阅读:
    shell script
    Shell相关
    Linux文件目录磁盘基本知识
    Linux基础
    Spring事务
    跨域问题
    Ubuntu18.04安装MySQL
    如何掌握 Spring,Spring Boot 全家桶?系统学习 Spring 的大纲一份(实战教学)
    【问题解决】vim 打开文档后提醒 E325: ATTENTION 怎么办?
    vi 中按了 Ctrl+S 后死机不能动怎么办?
  • 原文地址:https://www.cnblogs.com/yuanyajiao/p/4351858.html
Copyright © 2011-2022 走看看