结对编程开发--课程练习

题目:返回一个整数数组中最大数组的和。

  要求:

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

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

    球所有字数组的和的最大值,要求时间复杂度为0(n)。

    结对编程。

实现过程:

  因为要求时间复杂度为0(n),所以本题难以通过简单学过的算法来解决,

  必须结合数组的特点。我负责编程,附上源码和结果。

  程序源代码:

 1 #include<iostream>
 2 #include<ctime>
 3 using namespace std;
 4 int main()
 5 {
 6     clock_t start, finish;
 7     double  duration;
 8     /* 测量本程序计算运行时间*/
 9     start = clock();
10     srand((unsigned)time(NULL));
11     int * arr=new int[10];
12     int result,sum=0,k=0;
13     int randoms,count1=0,count2=0,c1=0,c2=0;
14
15     cout<<"随机产生10个数值:\n"<<endl;
16     for ( int i=0; i<10; i++ ) {
17         randoms = ( -rand()%100 + ( rand()%100 ) );
18         arr[i] = randoms;
19         cout<<"数组元素"<<i+1<<"分别为:"<<arr[i]<<endl;
20     }
21     result=arr[0];
22     for ( int j=0; j<10; j++ ) {
23         if ( sum>=0 ){ c2=j; sum+=arr[j]; }
24         else { c1=j; sum=arr[j]; }
25         if( result < sum ) {
26             count1=c1;
27             count2=c2;
28             result=sum;
29         }
30     }
31     cout<<endl<<"从第"<<count1+1<<"个元素到第";
32     cout<<count2+1<<"个元素为最大数组"<<endl<<endl;
33     cout<<"最大数组之和:"<<result<<endl<<endl;
34
35     finish = clock();
36     duration = (double)(finish - start) / CLOCKS_PER_SEC;
37     cout<<"程序运行时间:"<<duration<<endl;
38
39     return 0;
40 }

  程序运行结果:

  多次运行结果符合要求。

结对开发总结

    我和我的小组组成员(信1201-1班 翟凯)通过这次结对编写程序,发现编程不再是一个人的事,互相有了新的想法就可以进行交流,

  共同分享更漂亮的完成结果的喜悦。

下面是我们的合作剪影(^_^):

时间: 2024-11-01 17:24:26

结对编程开发--课程练习的相关文章

少年学习java等编程开发课程是一种愚蠢的时尚[图]

少年学习java等编程开发课程是一种愚蠢的时尚[图]:这篇文章仅仅代表一种不同的发声,不代表大部分人的意见,让孩子坐在电脑前面敲打键盘,掌握他们父母梦寐以求的技能.God,没有什么比教会我们的孩子写编码,这种想法更让人向往了."未来的大多数工作都与写编码有关系"英国邦创新.科学.经济发展部部长Navdeep Bains向大家展示了他们最近拍摄的一张照片:房间里面坐满了正在写代码的少年儿童.Navdeep Bains宣布了一项耗资5000万美元的计划,向年轻人教授如何编程. "

芯学苑免费学Java编程开发课程7天

Java软件开发公开课 上课时间:2017年05月13日,上午9:00 上课地点:西安市雁塔区小寨东路196号国贸大厦小区1栋1单元12层 Java精英班开课时间:2017年05月16日 上课地点:西安市雁塔区小寨东路196号国贸大厦小区1栋1单元12层 零基础学Java,学完拿高薪

结对编程的总结

 在课程学习过程中,老师叫我们进行两人合作,结对编程,写一个小程序,模拟体验一下结对编程. 正好我在<构建之法>上看到关于结对编程的介绍.这本书上说,用结对编程开发方法的原因是,在程序代码完成后,需要进行代码复审,由复审者对开发者提出一系列问题,开发者负责解释回答.代码复审有很多好处,比如找出代码的错误,发现逻辑.算法错误.潜在的错误和回归性错误,互授开发经验等.既然代码复审有这么多的好处,那能不能把它每时每刻都用上它呢?结对编程做到了,结对编程让开发者每时每刻处在代码复审的状态,及时纠正错误

结对编程 测试

关于黄金点游戏,我负责测试部分 由于我的队友苏钰涵他用的是VC6.0我用的是Visual studio我们出现过代码在vc上能运行在我这运行错误的情况. 1.vs不支持scanf 2.黄金点输出错误 3.得分第一个恒为人数,最后一个恒为-2 4.在VS上没有输出最后一轮结果和总得分就退出了,没有显示 修改 1.VS支持scanf_S 2.调用求总数的函数时出错 3.添加#include<windows.h>库函数,用system("pause");z执行 一.输入函数,编码

20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: 需求分析 功能要求 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 =: 10 - 5 = 之类的两个数,一个运算符的题目 2.题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 判断用户答题正误,并输出正确结果 3.支持真分数 可独立使用 实现分数算式的

2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算

2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算 组内成员 20172327 马瑞蕃 20172320 李闻洲 20172317 蒋子行 需求分析 自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目 不同等级的题目应该指的是不同难度的题目,意味着题目的复杂程度随着等级的上升而上升 题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 自动生成的题目要先转为后缀表达式,并计算这个后缀表达式 判断用户答题正误,并输出正

IT视频课程集(包含各类Oracle、DB2、Linux、Mysql、Nosql、Hadoop、BI、云计算、编程开发、网络、大数据、虚拟化

马哥Linux培训视频课程:http://pan.baidu.com/s/1pJwk7dp Oracle.大数据系列课程:http://pan.baidu.com/s/1bnng3yZ 天善智能BI培训视频课程:http://pan.baidu.com/s/1pJ7FPXp 老方块Oracle培训全套课程:http://pan.baidu.com/s/1gdkpHxL Mysql培训课程:http://pan.baidu.com/s/1c0vliMW Oracle数据库性能优化实务课程视频+源码

结对编程项目-开发环境搭建过程

开发成员:2015035107169 焦广鑫 2015035107161 杜念泽 结对编程项目:四则元算器 这次我们开发的项目是四则运算器,用到的开发语言为python2.7,具体环境搭建链接为http://jingyan.baidu.com/article/eb9f7b6da950c4869364e8f5.html

在复杂的项目开发中使用结对编程

在复杂的项目开发中使用结对编程 卢占辉译 在开发软件项目时,不仅写出相应功能的模块很重要:确保写出的模块的易维护性(bug 修复,代码重构)也同样重要. 主打互联网技术和门户网站的Perpetuum 手机公司曾开展了一个长期的软件项目,以研制出一套基于web的内容管理软件.Perpetuum公司的许多开发者都参与了这个项目.项目中大部分复杂的模块都是完全靠个人开发的(非多人协作完成).维护这些模块(即非多人协作完成的模块)非常困难.因为开发某一模块的人还需要开发新的模块或者维护另一既有模块,这需