结对成员:范德一,赵永恒

一.题目:

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

二.要求:

  要求程序必须能处理1000 个元素;

  每个元素是int32 类型的;

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

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

  求所有子数组的和的最大值。

三.设计思路

在上一次的实验中,我们设置的数组的个数能够很好的进行扩展,所以对于第一个要求处理1000个元素比较容易实现;对于第二个要求,我们主要是想确定最大的数到底有多大,即什么时候会发生溢出的问题,当问题出现时程序怎么处理,通过查阅资料,我们最后确定了程序能够处理的最大数的取值,然后通过输出语句提示数组溢出。

四.源代码

  1 #include<iostream.h>
  2
  3 #include<time.h>
  4
  5 #include<stdlib.h>
  6
  7
  8
  9 int main()
 10
 11 {
 12
 13
 14
 15     srand((unsigned)time(NULL));
 16
 17
 18
 19     int a[1000];
 20
 21     int m;              //m是每组个数
 22
 23     int *sum=new int[1000];
 24
 25     cout<<"*********************************"<<endl;
 26
 27     for(int i=0;i<1000;i++)
 28
 29     {
 30
 31         int b;
 32
 33         b=rand()%2;
 34
 35         switch (b)
 36
 37         {
 38
 39             case 0:
 40
 41                     a[i]=rand()*350;
 42
 43                     break;
 44
 45             case 1:
 46
 47                     a[i]=-rand()*100;
 48
 49                     break;
 50
 51         }
 52
 53         cout<<a[i]<<"   ";
 54
 55         if((i%10)==9)
 56
 57         cout<<endl;         //每行10个输出,换行
 58
 59
 60
 61     }
 62
 63
 64
 65     cout<<"*********************************"<<endl;
 66
 67     int he=0;
 68
 69     for(m=1;m<1001;m++)
 70
 71     {
 72
 73         int temp=0;
 74
 75         for(int n=0;n<m;n++)
 76
 77         {
 78
 79             temp=temp+a[n];
 80
 81         }
 82
 83         for(int k=0;k<=(1000-m);k++)
 84
 85         {
 86
 87             sum[k]=0;
 88
 89             for(int j=k;j<(k+m);j++)  //a[k]是每组第一个数
 90
 91             {
 92
 93                 sum[k]=sum[k]+a[j];
 94
 95             }
 96
 97             if(sum[k]>temp)
 98
 99             {
100
101                 temp=sum[k];
102
103             }
104
105         }
106
107         if(temp>he)
108
109         {
110
111             he=temp;
112
113         }
114
115     }
116
117     if(he>2100000000)
118
119     {
120
121         cout<<"数组溢出!"<<endl;
122
123     }
124
125     else
126
127     {
128
129         cout<<"最大子数组的和为: "<<he<<endl;
130
131     }
132
133     cout<<"*********************************"<<endl;
134
135     return 0;
136
137 }

五.运行截图

六、感想

这次实验在随机出现数的那里我们停留了很长时间,主要是不知道rand函数也是有取值范围的。在接组的开发中,我们都有一点自己的想法。最后总结在了一起,尤其是在编程的过程中,我们谁都想往上写一点,一个程序总是在加入自己的设计思路和代码的风格。我觉得一个团队还是应该把风格和规范尽量的一致,才能让团队更好的工作起来。

附:

转载于:https://www.cnblogs.com/fan123/p/4376537.html

结对开发4----最大子数组(大数溢出)相关推荐

  1. 结对开发——一维数组最大子数组判断溢出

    一 题目 求一维数组最大子数组和 要求:1000个数以上,整数 二.设计思路 最大子数组很好找到,但是子数组和的溢出问题很难解决. 经过不断的思考,我得出了结论: 溢出是程程序设计者设计时的不足所带来 ...

  2. 结对开发——返回一个整数数组中最大子数组的和 (首尾相接版)

    一.题目及题目要求 题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果 ...

  3. 结对开发--求二维数组的最大子数组

    小组成员:信1201-1班  黄亚萍 信1201-1班  袁亚姣 一.题目要求 程序要使用的数组放在一个叫 input.txt 的文件中,  文件格式是: 数组的行数, 数组的列数, 每一行的元素,  ...

  4. 结对开发——返回一个整数数组中最大子数组的和

    一.题目要求 1.输入一个整型数组,数组里有正数也有负数. 2.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 二.设计思想 ...

  5. 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)

    题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为 ...

  6. 结对开发项目:求整数数组中连续子数组和的最大值

    小组成员:安娜 王鑫楠 题目二:求整数数组中连续子数组和的最大值. 1.分析过程: 题目收到后,前五分钟设计算法,首先也想到是不是一次遍历可以解决,考虑了一下觉得难度有点大最后还是果断放弃.我刚开始的 ...

  7. 结对开发 随机产生数组并求最大子数组的和

    一.题目 返回一个整数数组中最大子数组的和. 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为O( ...

  8. 结对开发2(求二维数组的最大子数组和)

    一,题目要求: 输入一个二维数组,求出此二维数组的最大子数组和. 二,设计思路: 利用for循环进行遍历,求出数组中每一个子数组的和,最终求出这些子数组的最大的一个值.程序中利用了调用函数,被调函数分 ...

  9. 结对开发——环形一维数组求最大子数组和

    题目:返回一个整数数组中最大子数组的和. 要求: (1)输入一个整形数组,数组里有正数也有负数. (2)数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. (3)如果数组A[0]--A[ ...

最新文章

  1. java.lang.Class
  2. 协议类接口 - LCD
  3. Tensorflow 错误总结:ImportError: cannot import name add_newdocs.
  4. [USACO12FEB]牛的IDCow IDs
  5. python requests库详解_python的requests库详解
  6. c# https请求
  7. Programming in the Mid-Future(转)
  8. 灵云语音识别(ASR)实现实时识别
  9. mongodb and ssis
  10. 对抗机器学习—— 迭代FGSM
  11. Windows新建文件快捷键(使用AutoHotKey脚本)
  12. 【转】使用chrome插件Page Monitor监控网页内容变化
  13. Enter的使用计算机,Win7系统下键盘Enter回车键五大功能介绍
  14. 足球大数据预测中欧亚大小球随时间变化的处理
  15. 操作系统(一)什么是操作系统
  16. 关于腾讯TBS中,加载失败问题(64位手机无法加载x5)
  17. tensorflow serving部署keras或tf2.0模型
  18. 计算机组成原理小游戏,计算机组成原理cla是什么
  19. HTML5+js 实现生成二维码,扫描解析二维码
  20. 用C#制作有提示窗体的日程管理器

热门文章

  1. html简单网页代码表白_表白网页代码,不会代码也可以操作,告别单身
  2. 计算机地图制图知识点,地图制图知识点整理
  3. 返回动态html,使用硒返回动态页面的html代码
  4. 当 RocketMQ 遇上 Serverless,会碰撞出怎样的火花?
  5. springboot获取原生js请求_七节课带你学会SpringBoot,第三课
  6. python 编程该看那些书籍_初学者自学Python要看什么书?
  7. 英朗gt仪表盘图标说明_BuildRun低代码开发教程八节 | 图表和仪表盘展示
  8. python异步io多文件_Python 异步 IO 性能又上一层楼
  9. python第七周答案_马哥2016全新Linux+Python高端运维班第七周作业
  10. 图像“位操作”有什么用?