码迷,mamicode.com
首页 > 其他好文 > 详细

结对。。。开发。。。

时间:2015-03-19 23:52:18      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

一、题目与要求

题目:

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

要求:

  入一个整形数组,数组里有正数也有负数。
  数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
  求所有子数组的和的最大值。要求时间复杂度为O(n)。

结对编程要求:

  两人结对完成编程任务。
  一人主要负责程序分析,代码编程。
  一人负责代码复审和代码测试计划。
  发表一篇博客文章讲述两人合作中的过程、体会以及如何解决冲突(附结对开发的工作照)。(截止到周四3月19日24:00)

二、设计思路

      题目要求是要返回一个整数数组中最大子数组的和,一开始我跟黄亚萍同学看了好半天才读明白这道题目的意思

      大致分为这几层来编程实现 

      1、执行输入数组,包括自行输入数值个数以及数值大小

      2、分别编程实现求得相同整数数量的数组的和,并比较大小。可分别求得每个相同整数值的数组的最大值。

      3、编程实现比较不同整数值的数组的最大值

三、源代码

 1 #include"iostream.h"
 2 # define N 100
 3 int sum1(int k,int a[],int number)
 4 {
 5     int x=0;
 6     for(int i=k;i<=number+k-1;i++)    //数组维数为number
 7     {
 8         x=x+a[i];
 9     }
10     return x;
11 }
12 int Largest(int list[],int length)
13 {
14     int sum[N],max1[N];
15     int i,max;
16     for(i=1;i<=length;i++)       //元素个数为i+1
17     {    
18         cout<<"子数组中元素的个数数为"<<i<<"时,子数组的和的最大值为";
19         for(int j=1;j<=length-i+1;j++)   //子数组的第j个元素,求最大值
20         {
21             sum[j]=sum1(j,list,i);
22             if(sum[j]>=max1[i])
23             {
24                 max1[i]=sum[j];
25             }
26         }
27         cout<<max1[i]<<endl;
28     }
29 
30     max=max1[1];
31     for(int k=1;k<=length;k++)
32     {
33             if(max1[k]>=max)
34             {
35                 max=max1[k];
36             }
37     }    
38     return max;
39 }
40 
41 int main(int argc, char* argv[])
42 {
43     int i,number,max;
44 
45     cout<<"输入这组数的个数:";
46     cin>>number;
47     cout<<endl;
48     int list[N];
49     int p;
50     cout<<"输入这组数:"<<endl;
51     for(i=1;i<=number;i++)
52     {
53         cout<<""<<i<<"个数为:";
54         cin>>list[i];
55         cout<<endl;
56     }
57     cout<<"最大值为:"<<Largest(list,number)<<endl;
58     cout<<endl;
59     return 0;
60 }
 

四、结果截图

技术分享技术分享

 

五、合作中的过程、体会以及如何解决冲突(附结对开发的工作照)

    因为可爱的王老师把我弄到第一排,所以很有幸第一次的结对开发不是跟舍友 而是跟美女同学。。。就是黄亚萍同学啦~~因为我的编程比较垃圾,C学的一般般 加上黄亚萍同学人比较好让着我,所以这次是黄亚萍同学负责重要的驾驶员的工作,我负责领航员。对 就这样。

    再就是体会的话,结对真的有好处,尤其是连题目看半天才能看的懂的情况下,有同学一起商量着来可以很快把题目理解,并能够在一起商量着构思解决思路,具体编程实现由黄亚萍同学一手包办,我主要是跟黄亚萍同学一起构思编程实现的思路,以及最后的调试之类的工作。

    至于冲突,貌似木有。。两个人结对开发的效率对于我来说真的提高了很多,以前一个函数弄错了都要想半天,现在有同学指点就很快就能弄明白了。解决冲突的话我觉得肯定是谁的办法有用就用谁的,相互尊重理解。

照片~~技术分享

结对。。。开发。。。

标签:

原文地址:http://www.cnblogs.com/gaiiiiiiii/p/4347003.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!