结对开发4----最大子数组(大数溢出)
2015-03-29 22:11
246 查看
结对成员:范德一,赵永恒
一.题目:
返回一个整数数组中最大子数组的和。
二.要求:
要求程序必须能处理1000 个元素;
每个元素是int32 类型的;
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。
三.设计思路
在上一次的实验中,我们设置的数组的个数能够很好的进行扩展,所以对于第一个要求处理1000个元素比较容易实现;对于第二个要求,我们主要是想确定最大的数到底有多大,即什么时候会发生溢出的问题,当问题出现时程序怎么处理,通过查阅资料,我们最后确定了程序能够处理的最大数的取值,然后通过输出语句提示数组溢出。
四.源代码
五.运行截图
六、感想
这次实验在随机出现数的那里我们停留了很长时间,主要是不知道rand函数也是有取值范围的。在接组的开发中,我们都有一点自己的想法。最后总结在了一起,尤其是在编程的过程中,我们谁都想往上写一点,一个程序总是在加入自己的设计思路和代码的风格。我觉得一个团队还是应该把风格和规范尽量的一致,才能让团队更好的工作起来。
附:
一.题目:
返回一个整数数组中最大子数组的和。
二.要求:
要求程序必须能处理1000 个元素;
每个元素是int32 类型的;
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。
三.设计思路
在上一次的实验中,我们设置的数组的个数能够很好的进行扩展,所以对于第一个要求处理1000个元素比较容易实现;对于第二个要求,我们主要是想确定最大的数到底有多大,即什么时候会发生溢出的问题,当问题出现时程序怎么处理,通过查阅资料,我们最后确定了程序能够处理的最大数的取值,然后通过输出语句提示数组溢出。
四.源代码
#include<iostream.h> #include<time.h> #include<stdlib.h> int main() { srand((unsigned)time(NULL)); int a[1000]; int m; //m是每组个数 int *sum=new int[1000]; cout<<"*********************************"<<endl; for(int i=0;i<1000;i++) { int b; b=rand()%2; switch (b) { case 0: a[i]=rand()*350; break; case 1: a[i]=-rand()*100; break; } cout<<a[i]<<" "; if((i%10)==9) cout<<endl; //每行10个输出,换行 } cout<<"*********************************"<<endl; int he=0; for(m=1;m<1001;m++) { int temp=0; for(int n=0;n<m;n++) { temp=temp+a ; } for(int k=0;k<=(1000-m);k++) { sum[k]=0; for(int j=k;j<(k+m);j++) //a[k]是每组第一个数 { sum[k]=sum[k]+a[j]; } if(sum[k]>temp) { temp=sum[k]; } } if(temp>he) { he=temp; } } if(he>2100000000) { cout<<"数组溢出!"<<endl; } else { cout<<"最大子数组的和为: "<<he<<endl; } cout<<"*********************************"<<endl; return 0; }
五.运行截图
六、感想
这次实验在随机出现数的那里我们停留了很长时间,主要是不知道rand函数也是有取值范围的。在接组的开发中,我们都有一点自己的想法。最后总结在了一起,尤其是在编程的过程中,我们谁都想往上写一点,一个程序总是在加入自己的设计思路和代码的风格。我觉得一个团队还是应该把风格和规范尽量的一致,才能让团队更好的工作起来。
附:
相关文章推荐
- 结对开发Ⅳ——一维数组求和最大的子数组(大数溢出)
- 结对开发五--最大子数组的和(大数溢出)
- 结对开发4----最大子数组(大数溢出)
- 结对开发-- 一维数组求和最大的子数组的大数溢出问题
- 结对开发—一维数组之大数溢出
- 结对开发-- 一维数组求和最大的子数组 (大数溢出)
- 二维数组最大子数组的和 结对开发 溢出问题
- 体验结对开发的乐趣(3)--(一维数组求最大子数组的和溢出问题)
- 结对开发之求最大数组溢出问题
- 结对开发——一维数组最大子数组判断溢出
- 软件工程结对开发——一维最大子数组求和溢出问题
- 3、软件工程结对开发之求一维数组中连续最大子数组之和并判断溢出
- 结对开发——数组求和大数溢出问题
- 结对开发之求最大子数组的溢出问题
- 结对开发之返回一个整数数组中最大子数组的和
- 结对开发之《返回一个整数数组中最大子数组的和》
- 结对开发——求环形一维数组最大子数组的和
- 结对开发——返回一个整数数组中最大子数组的和
- 3月24号周二课堂练习:结对开发----返回一个整数数组中最大子数组的和二
- 软件工程结对开发之求一个数组中连续最大子数组之和