结对。。。开发。。。

一、题目与要求

题目:

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

要求:

  入一个整形数组,数组里有正数也有负数。

  数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

  求所有子数组的和的最大值。要求时间复杂度为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学的一般般 加上黄亚萍同学人比较好让着我,所以这次是黄亚萍同学负责重要的驾驶员的工作,我负责领航员。对 就这样。

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

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

照片~~

时间: 2024-10-25 05:29:37

结对。。。开发。。。的相关文章

结对开发之返回一个二维整数数组中最大联通子数组的和

一.题目要求 输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 二.解题思路 先对二维数组进行了重构,形成一个环状二维数组,然后再用求二维数组子矩阵最大和的方法求得最终结果. 三.程序代码 2 #include<iostream.h> 3 int main(int argc, char* argv[]

结对开发——返回整数数组最大子数组和2

返回整数数组最大子数组和2 为了实现“敏捷开发”的目的,老师让我们采取“迭代”的方法进行项目的开发,这不,对于周一的求最大子数组和又有了新的要求,如下: 1.延续上次的要求,这里不再赘余… 2.如果数组A[0]……A[j-1]首尾相连,允许A[i-1],……A[n-1],A[0]……A[j-1]之和最大: 3.同时返回最大子数组的位置: 4.要求程序必须能处理1000 个元素,且每个元素是int32 类型的. 一.实验设计思路 首先实现的是数组首尾相连,先存入数组,再将原数组反向存储形成环形数组

结对开发5

题目:返回一个二维整数数组中最大子数组的和. 要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 结对编程要求: 两人结对完成编程任务. 一人主要负责程序分析,代码编程. 一人负责代码复审和代码测试计划. 发表一篇博客文章讲述两人合作中的过程.体会以及如何解决冲突(附结对开发的工作照). 一.设计思路 这一次,因为诸多原因,我两互

结对开发——求环形二维数组最大子矩阵和的问题

一.题目要求 输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 二.解题思路 这次就在以前的基础上进行修改,先对二维数组进行了重构,形成一个环状二维数组,然后再用求二维数组子矩阵最大和的方法求得最终结果. 三.程序代码 1 #include "stdafx.h" 2 #include<i

软件工程课堂训练——结对开发之环数组最大和

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①如果数组A[0]...A[j-1]首尾相邻,允许A[i-1]...A[n-1],A[0]...A[j-1]之和最大:②同时返回最大子数组的位置. 结对人员:胡亚宝  焦燕 二.设计思路: 我们要解决两个问题:求出环数组中最大的子数组:并且定位出该子数组的位置,把它们的名称输出来.要解决这两个问题,我们从以下两个方面入手: ①求出最大子数组:将数组数值按顺序排好称为“一趟”,每求出一趟的最大子数组后,将第一个数值放到最后一个

结对开发体会

一,开发题目与要求: 题目:输入一个整数组,要求输出最大字数组的和. 要求:要求输入一个整数数组,可以有正有负 任意一个多个连续的整数为一个数组,求每一个字数组的和 要求输出最大数组的和,时间复杂度为O(n) 结对编程的要求: 两个人结对共同完成编程任务 一个人主要负责驾驶,即操作键盘负责代码的输入 一个人主要负责导航,即代码复审,思路探讨,程序测试检测 发表一篇两个人合作过程中的体会及如何解决问题的思路 二,设计思路: 两人共同阅读题目了解到最大子数组的概念是数组中连续的一个或多个整数组成的一

求一维数组的最大子数组1(结对开发)

题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n) 发表一篇博客文章讲述设计思想,出现的问题,可能的解决方案(多选).源代码.结果截图.总结. 结对开发的伙伴: 博客名:Mr.缪 姓名:缪金敏 链接:http://www.cnblogs.com/miaojinmin799/ 分析: 如果按照最笨的方法就是一个一个的比较先比较一个数的然后二个

结对开发(求二维首尾相接数组的最大子数组和)

一.题目要求 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. 要求时间复杂度为O(n)题目:返回一个二维整数数组中最大子数组的和 一.设计思想 求环形二维数组最大子数组的和,可以转化为求一维数组最大子数组的和 我们有一个最初的二维数组a[n][n]找它的 最大子数组之和 1.我们先建立一个新的二维数组b[n][2*n-1], 2,这个新的二维数组就是将初始的二

软件工程课堂训练——结对开发之环状二维数组

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①输入一个二维整形数组,数组里有正数也有负数:②二维数组首尾相接,像一条首尾相接的带子一样. 结对人员:胡亚宝  焦燕 二.设计思路: 这个题目其实就是二维数组和环型数组的结合,要解决这个问题,将之前的两个问题融合一下即可. 首先解决求出二维数组中最大子数组的问题,然后沿用一维数组的方法,将第一列放到最后一列,在求出新的二维数组的最大子数组,依次求出各个二维数组的最大子数组. 三.部分源代码: 1 for (m=0;m<5;

软件工程课堂作业(四)——结对开发

一.题目及要求: 1.题目:返回一个整数数组中最大子数组的和. 2.要求: ①输入一个整形数组,数组里有正数也有负数:数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和:求所有子数组的和的最大值:要求时间复杂度为O(n). ②两人结对完成编程任务:一人主要负责程序分析,代码编程,一人负责代码复审和代码测试计划. 3.结对人员:胡亚宝 焦燕 二.设计思路: ①第一个方法,定义一个数组,将所有的子数组的和都求出来放到该数组中,再求最大值,输出.但是在编写过程中,我们发现如果用循环方式存放