一 题目

  求一维数组最大子数组和

  要求:1000个数以上,整数

二.设计思路

  最大子数组很好找到,但是子数组和的溢出问题很难解决。

  经过不断的思考,我得出了结论:

    溢出是程程序设计者设计时的不足所带来的错误。所以设计者要在编码时便高度警惕,预防溢出的发生,这才是最本质的解决问题的方法。就本题而言,我们设置了元素最大个数,以及其它输入要求,尽量避免溢出的发生。1000个数相加可以实现,但非要取1000个最大的数相加,那样的计算没有意义,不会在我们的生活学习中出现,这属于科研问题,交给大神们来解决吧。

三,设计代码

#include <iostream.h>
#include <stdlib.h>
#define MAX_LEN 2000
int main()
{ int i,j; int len,max;    int VALUE_MAX=2147483580; int sum=0;//求和变量 do{ cout<<"请输入数组元素个数(小于2000):"; cin>>len; }while( (len>MAX_LEN) || len<=0); int* Array=new int[len];//开辟数组空间 for(i=0;i<len;i++) Array[i]=rand()%1000; cout<<endl; max=Array[0]; for( i=0;i<len;i++) { sum=0; for(j=i;j<len;j++) { sum=sum+Array[j]; if(sum>max&&sum<VALUE_MAX)    max=sum; else if(sum>VALUE_MAX) break; } } cout<<"最大子数组的和为:"<<max<<endl; delete []Array; return 0;
} 

四,截图

五,结对开发体会

本次实验在之前做的基础上没法拓展,所以只能重新编写,这次我和伙伴的思路几乎差不多,但是考虑到溢出的情况,是因为在我俩范围之内没能解决,但是确实考虑到没有实际意义所以就”投机取巧“没实现该要求,通过本次结对开发又感受到一些不同的东西,就是没思路的时候通过队友之间相互提醒,相互启发可以适当的改变思路,没必要钻牛角尖!

转载于:https://www.cnblogs.com/lllzy/p/4379516.html

结对开发——一维数组最大子数组判断溢出相关推荐

  1. 求首位相连一维数组最大子数组的和

    结对成员: 朱少辉:主要负责代码编写 侯涛亮:主要负责程序测试 题目:一个首尾相接的一维整型数组,其中有正有负,求它的最大子数组并返回它的位置. 思路:在求一维子数组的基础上,先输入一个含有N个数的一 ...

  2. 二维数组最大子数组和

    一.实验题目 求一个二维数组中和最大的子数组. 二.实验思路 基于我们第一次合作时求的一位数组最大子数组,加上一层循环来遍历二维数组中的所有子矩阵的情况. 第一步:先利用上次的方法求每一行的情况,将每 ...

  3. 环状二维数组最大子数组求和

    题目:返回一个二维整数数组中最大子数组的和.要求:输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样. n数组中连续的一个或多个整数组成一个子数组,每个子数组都有一 ...

  4. 编程之美2.15 二维数组最大子数组的和(数组下标从(1,1)开始)

          首先,我们看到这篇文章的题目,我们就会想到之前的那个题目 -- 连续子数组最大和问题.这个问题无疑就是把原问题扩展到二维的情况.       想起来这个问题也不是很难,我们可以求解一维矩阵 ...

  5. 求一个二维整数数组最大子数组之和,时间复杂度为N^2

    本随笔只由于时间原因,我就只写写思想了   二维数组最大子数组之和,可以  引用  一维最大子数组之和 的思想 一维最大子数组之和 的思想,在本博客上有,这里就不做多的介绍了 我们有一个最初的二维数组 ...

  6. 返回一个二维整数数组最大子数组的和

     要求: 1,输入一个二维整形数组,数组里有正数也有负数. 2,二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和, 3,求所有子数组的和的最大值. 设计思路: 参照一维整数数组求解最大子 ...

  7. 结对开发四------求一维无头数组最大子数组的和

    一.代码思想 对第一次一维数组的延伸,增加无头无尾功能,我们的设计思想是每比较一次进行一次交换,将第一个掉到位后去第二个调到第一个,第三个调到第二个,以此类推,再进行实验一的求最大子数组的和 二.代码 ...

  8. 一维循环数组最大子数组求解

    #include "stdafx.h" #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) {int i, ...

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

    一.题目要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. ...

最新文章

  1. (本地源)安装CDH Manager
  2. java.lang包—类Class
  3. 【计算机组成原理】存储器简述
  4. 集成spring mvc_向Spring MVC Web应用程序添加社交登录:集成测试
  5. 【高性能定时器】时间堆(最小堆)
  6. java button 圆角_UIButton具有渐变边框和圆角
  7. Linux的实际操作:时间日期类的实用指令(date cal)
  8. Java基础日常总结!!
  9. 机器学习线性回归_机器学习实例--线性回归
  10. pyqt5使用本地摄像头
  11. java开闭原则实现代码_向对象的六大原则
  12. 在Windows上安装jupyter notebook的scala kernel —— jupyter-scala
  13. 《Java核心技术 卷1》
  14. 微软模拟飞行10 简体中文豪华版 2DVD
  15. 生存预测模型样本量计算(完善中)
  16. 便捷的收集数据工具—Sniffer嗅探器
  17. vr旅游市场竞争分析,破局之路在何方?
  18. 梦幻西游手游300级装备、30级宝石、抽奖后台、坐骑版本搭建技术讲解
  19. 用聚合数据API(苏州实时公交API)快速写出小程序
  20. 【Python练习】创建学生信息表-列表推导式的应用

热门文章

  1. oracle 对象的审计,初识!聊聊ORACLE的审计功能
  2. linux python开发identifier,python程序设计 浙大版
  3. 简单的html5级联下拉菜单,什么是html5纯CSS的三级联动级联菜单
  4. linux上C++编译过程
  5. java flask_将Java与Python Flask连接
  6. git restore
  7. vue 表单 select option
  8. Vue-cli 自定义配置
  9. mysql 分组group
  10. python multiprocessing.Semaphore应用