返回一个循环整数组最大子数组和

任务要求:   1、输入一个整形数组,数组里有正数也有负数。

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

                     3、如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]……A[j-1]之和最大。

                     4、同时返回最大子数组的位置。

5、求所有子数组的和的最大值。
实验思路:
首先分为两种情况,随机数组和自己输入数组,定义数组长度获取-n到n范围内的随机数或输入值。构造一个新数组,新数组是由两遍输入的数组构成,然后按照一维数组的求法求出,加上限制条件,求和时数组的长度必须小于输入数组的个数。
出现问题:
1、在循环过程中把自己绕进去了。
2、最开始对随机数取太多导致运行时间太长。
3、在分析循环数组时遇到麻烦耗费很多时间才理清思路。
实验代码:
#include <iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;int main()
{int i,j;int a[10];int c[19];int max = 0;int b = 0;srand(time(NULL));cout<<"数组为:"<<endl;for (i = 0; i<10; i++){a[i] = rand()%21-10;}for (i = 0; i<10; i++){cout << a[i] << '\t';}cout << endl;for (i = 0; i < 10; i++){c[j]=a[i];}for (i = 0; i < 9; i++){c[j+10]=a[i];}for (j = 0; j < 10; j++){b += c[j];if (b < 0)b = 0;if (b > max)max = b;}if (max == 0){max = c[0];for (j = 0; j < 19; j++){if (max < c[j]){max = c[j];}}    }cout <<"最大子数组为:"<< max << endl;system("pause");return 0;
}

运行结果:

 

实验总结:
这个程序相对于不循环的数组求最大子数组和的关键是找到算法的限制条件,求和时数组的长度必须小于输入数组的个数。在开始编写程序时对循环结构的选择是一个问题。

队员:侯熙磊  黄睿麒

 

转载于:https://www.cnblogs.com/MIAOLAOSHI/p/9904222.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4K 海思 联咏 芯片_老电视也有春天,换装海美迪4K电视盒子H7 Plus

写在前面YALL&#xff0c;大家好&#xff0c;我是老炮儿许老板。疫情进入六月逐渐好转&#xff0c;各级各类学校相继开学&#xff0c;年前给儿子报的托班也终于迎来了开学&#xff0c;平日里帮忙照看儿子的爷爷奶奶也终于得到了解放。现在白天有大把大把的时间来追剧看电视&…

WCF从理论到实践(4):路在何方

本文的出发点 通过阅读本文&#xff0c;您能了解以下知识&#xff1a; Address是什么&#xff1f; Address的组成&#xff1f; 如何在配置文件中指定Address? 如何通过编程方式设置Address? Address有什么特殊应用&#xff1f; 本文适合的读者 适合WCF初学者&#xff…

office 2007图标_微软Office 365桌面版新图标开始测试

IT之家3月1日消息 此前&#xff0c;微软公布了全新的Office图标&#xff0c;微软Office 365在线网页版在2月15日开始已经全面更新新版图标&#xff0c;而桌面版Office 365现在也陆续开始测试新版图标。目前微软Office Dogfood通道上推送的开发者预览版本已经在2月27日开始测试O…

【动态规划BFS】相遇

这是我第一次模拟题测试点全部AC。。。 同机房的DALAO都用的BFS 然而我用的DP&#xff08;其实不会BFS&#xff09; 话不多说&#xff0c;上题&#xff01; &#xff08;灰常详细&#xff09;DP解法&#xff1a; 重点还是状态转移方程式的推导 1个点i要么是后面的位置i-1往前走…

五个思路,教你如何建立金融业的数据分析管理模型

说起银行、保险、股票投资这样的金融行业&#xff0c;很多人都认为它们是依靠数据驱动的企业&#xff0c;毕竟大数据的诞生本来就是为了金融信息流通而服务的&#xff0c;但在我身边很多搞证券、投资的朋友看来&#xff0c;事实却并非如此。 真正在金融行业做数据分析的人&…

【SSH网上商城项目实战19】订单信息的级联入库以及页面的缓存问题

购物车这一块还剩最后两个问题&#xff0c;就是订单信息的级联入库和页面缓存&#xff0c;这里的信息是指购物车和购物项&#xff0c;即我们将购物车的信息存入数据库的同时&#xff0c;也存入每个购物项的信息&#xff0c;而且外键都关联好&#xff0c;这涉及到了Hibernate中的…

exfat分配单元大小选多少_安防监控摄像机视角大小和镜头毫米数的基础知识!...

关于选择监控镜头毫米数的问题&#xff0c;虽然只有新手才有此困惑&#xff0c;但是我们还是要认真地说一说。监控视角&#xff0c;就是指监控照射的镜头所能覆盖到的范围&#xff0c;就是监控画面所能看到的角度统称叫监控视角。我们正常选购监控的时候&#xff0c;除了可以选…

彩信编辑器之预览功能

html代码 <table width"200"height"250"border"0"cellpadding"0"cellspacing"0"bgcolor"#666666"><tr><td align"center"valign"middle"><marquee id"MMScreen&qu…

java 几个实用的小工具

1、除法运算 编程的人都知道&#xff0c;java中的“/”、“%”运算&#xff0c;其中前者为取整&#xff0c;后者取余数。那么有没有快捷的运算方法取正常的运算结果呢&#xff1f; 查了资料&#xff0c;发现很简单。代码如下&#xff1a; public static String txfloat(int a,i…

动画演示 Delphi 2007 IDE 功能[3] - 修改属性

动画剧本:添加控件后用 F11 激活 Object Inspector 窗口;可用 ↑ ↓ 选择属性;用 Tab 切换属性名和属性值;用 Tab 切换到属性名后, 键入属性名的部分字母, 可迅速定位;用 Tab 切换到属性值后, 也可以键入字母选择, 而后回车确认.Ctrl↓ 可以选择其他控件;整个过程可以做到无鼠标…

kali怎么成为管理员_网站死链是什么、是怎么引起的以及死链对SEO优化的影响?...

网站死链是我们在做SEO时必不可少的一个错误&#xff0c;对于从事SEO行业的人员来说&#xff0c;网站死链最熟悉不过了&#xff0c;但是对于那些刚入SEO行业的新手来说&#xff0c;还是不太熟悉。今天我们就给大家讲一下什么是网站死链&#xff1f;网站死链是怎么引起的&#x…

Map-Reduce入门

1、Map-Reduce的逻辑过程 假设我们需要处理一批有关天气的数据&#xff0c;其格式如下&#xff1a; 按照ASCII码存储&#xff0c;每行一条记录每一行字符从0开始计数&#xff0c;第15个到第18个字符为年第25个到第29个字符为温度&#xff0c;其中第25位是符号/-006701199099999…

clickhouse大数据分析技术与实战_从销售到经营——大客户销售策略与实战技术...

对于首席客户代表而言&#xff0c;要走出困局&#xff0c;所需要大客户销售策略性的训练&#xff0c;而不是像基层客户经理的销售技巧训练一样&#xff1b;新业务的学习固然重要&#xff0c;但更重要的是转化成实战绩效。从组织变革角度&#xff0c;每次成功的业务转型背后都意…

Acer 4750 安装黑苹果_黑苹果系统安装通用教程图文版

在开始之前&#xff0c;不管你要安装的是台式组装机&#xff0c;台式品牌机&#xff0c;一体机&#xff0c;还是笔记本&#xff0c;都要大概了解一下硬件信息。因为黑苹果的安装确实比安装Windows的系统要复杂的多。不管是前期准备工作&#xff0c;安装&#xff0c;还是安装之后…

mysql 快速生成百万条测试数据

转自&#xff1a;http://www.cnblogs.com/jiangxiaobo/p/6101072.html 1、生成思路 利用mysql内存表插入速度快的特点&#xff0c;先利用函数和存储过程在内存表中生成数据&#xff0c;然后再从内存表插入普通表中2、创建内存表及普通表 CREATE TABLE vote_record_memory (id I…

java JVM

每一个Java虚拟机都由一个类加载器子系统&#xff08;class loader subsystem&#xff09;&#xff0c;负责加载程序中的类型&#xff08;类和接口&#xff09;&#xff0c;并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎&#xff08;execution engine&#xff09;负责执…

给Domino系统管理员的十二项建议

Domino系统管理员的日常工作就是维护Domino系统的正常运行。以下简要说明了管理员所必做的一些工作。对于系统管理员&#xff0c;特别是新建系统的管理员来说&#xff0c;这些建议能帮助他们完成基本的维护工作。 根据许多资深的Domino管理员和咨询人员的经验&#xff0c;我们对…

技术管理—管理书籍推荐

技术出身&#xff0c;考虑接触下管理方面的知识。也许管理真的适合你&#xff0c;角色认知角色实践角色胜任&#xff01;最后爱上它&#xff01; 我最喜欢的一本书--高效能人士的七个习惯 作者&#xff1a;史蒂芬柯维&#xff08;Stephen Richards Covey&#xff09; 该…

网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

原标题&#xff1a;停车场管理系统的防砸车功能有几种方式&#xff1f;如何实现&#xff1f;前言0101正文一、压力波防砸装置也叫遇阻防砸&#xff0c;主要是安装遇阻返回装置&#xff0c;当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的)&#xff0c;装置道闸杆底…

aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...

TXT文本操作在Windows操作中算是比较容易的事了&#xff0c;但简单的文本操作也会遇到难题。例如&#xff0c;对于我们反复需要使用的多个信息&#xff0c;如果仅靠CtrlC和CtrlV来回复制、粘贴&#xff0c;效率会极低&#xff1b;再如&#xff0c;对于一些软件组件中显示的文本…