《团队项目开发之三对一维环形数组的求解》

news/2024/7/3 18:58:49

                                                《团队项目开发之三对一维环形数组的求解》

设计思想:通过把数组的长度扩大为原来的一倍,相当于新数组是由对原来的数组重复了一遍后而组成的,这样保证了数组以环状的形式,按照数组中每个数字的位序依次对它们可能形成的最大子数组依次进行比较,这样保证了能够始终记录每次最大子数组的位置,以便随着程序的进行不断更新直至得到最终的最大子数组之和以及最大子数组的下标。

源代码:

//求一个一维环形数组的最大子数组之和,并要求返回组成最大子数组的下标
//李敏,Apr 12th
#include<iostream>
#include <time.h>
using namespace std;void main()
{int a[100],i,j,m,b,c,maxsum,k=0,t=0,l;cout<<"输入数组长度:"<<endl;cin>>m;cout<<"输入数组范围,第一个数作为上限,第二个数作为下限:"<<endl;cin>>b>>c;//检测输入数组长度的合法性if(m==0||m<0||m>50||m>c-b){cout<<"输入的数组长度不合法,请重新输入!"<<endl;cin>>m;}//检测输入数组范围的合法性if(b>c||(b<-2147483648||b==-2147483648)||c==2147483647){cout<<"输入的数字不合法,请重新输入:"<<endl;cin>>b>>c;}cout<<"产生的随机数为:"<<endl;srand( (unsigned)time( NULL ) );//扩大数组长度为2*mfor(i=0;i<m;i++){a[i]=b+rand()%(c-b+1);a[m+i]=a[i];cout<<a[i]<<'\t';}maxsum=a[0];//依次按顺序比较由各个序位组成的最大子数组之和,且取出最大子数组之和以及最大子数组的位置for(i=0;i<m;i++){int sum=a[i];for(j=i+1;j<i+m;j++){sum+= a[j];if(sum>maxsum){maxsum=sum;k=i;t=j;} }}cout<<"最大子数组之和为:"<<maxsum<<endl;cout<<"连续的最大子数组对应的下标依次为:"<<endl;//依次输出环形数组中组成最大子数组的各个数的位序下标for(l=k;l<t+1;l++){if(l>m||l==m){cout<<l%m<<'\t';}else {cout<<l<<'\t';}}}

实验截图:

编程总结:通过此实验又再一次增进了我们的合作氛围,增强了我们的团队意识,还有让我再一次意识到了团队开发的重要性,每一次的角色互换使我们可以感受不同的角色所带来的成果享受以及互相取长补短,综合意见,各自发挥自己的优势,同时及时的查询资料也是必要的,这样可以提高自己的专业知识以及开拓思维!

团队合作人:李敏   刘子晗

工作照:

转载于:https://www.cnblogs.com/Twinklelittlestar/p/4430247.html


http://lihuaxi.xjx100.cn/news/246872.html

相关文章

oracle数据库同步交换的方法

oracle数据同步方案与实现&#xff1a;如何在两个oracle服务器之间交换数据&#xff1f;来源:无忧模板 作者:网络编辑 更新时间:2010-08-09 18:10 点击:次 方案一&#xff1a;建立两个数据库之间的DATA_LINK&#xff0c;直接将新数据写入另一数据库方案二&#xff1a;使用SQL *…

年卡在手,城墙我走: 记葡萄城控件团队建设

上个周六&#xff0c;赶着春天的尾巴&#xff0c;《葡萄城控件业务团队》进行了一次有趣的团队建设&#xff1a;西安城墙半日游。 拿到《2015陕西旅游年票一卡通》&#xff0c;还是小小激动一下&#xff0c;据说有888个景点可以免费游玩呢。 从葡萄城到西安南门&#xff0c;这个…

26期20180601目录管理

6月1日任务2.1/2.2 系统目录结构2.3 ls命令2.4 文件类型2.5 alias命令系统目录结构ls - list所有的用户在系统里都有自己的家目录&#xff0c;比如现在登陆的是root用户&#xff0c;登陆进去就是在root的家目录中&#xff0c;可以看到之前创建的公钥文件也是在这。但是如果是其…

java 判断ocx是否存在_OCX控件的注册卸载,以及判断是否注册

方法一&#xff1a;在dos或Windows命令行下运行&#xff1a;regsvr32 ocxname.ocx 注册示例&#xff1a;regsvr32 netshare.ocx //注册netshare.ocx控件regsvr32 /u netshare.ocx //解除netshare.ocx控件的注册如果netshare.ocx文件不在system目录时&#xff0c;还必须在文…

Puppet扩展篇1-自定义fact结合ENC(hirea)的应用实践

零基础学习Puppet自动化配置管理系列文档在大量节点加入Puppet之后&#xff0c;你至少会面临两个比较大的问题&#xff1a;1、由于节点数的增多&#xff0c;site.pp文件必然会编写更多的节点条目&#xff0c;以及节点包含的类。假设你用Puppet管理500个节点&#xff0c;存在三种…

2021年开源SLAM算法集锦

1. TANDEM&#xff1a;Tracking and Dense Mapping in Real-time using Deep Multi-view Stereo 慕尼黑工业大学Daniel Cremers团队&#xff0c;实时单目跟踪稠密建图纯视觉SLAM&#xff0c;采用Realsense D455(深度传感器IMU&#xff0c;但只用RGB)。 项目地址&#xff1a;ht…

java连接数据库不使用框架_实体框架数据库连接不重新连接

我在Entity Framework中遇到了数据库连接问题 . 我在ASP.NET MVC 3 Web应用程序中使用EF 4.1.10331&#xff0c;但它也因EF 5而失败 .当我的Web应用程序启动时&#xff0c;由于某种原因SQL Server不可用&#xff0c;该网站抛出一个错误&#xff0c;这是好的 .当SQL Server再次可…

[MySQL]Every derived table must have its own alias

2019独角兽企业重金招聘Python工程师标准>>> 关于这条报错信息&#xff0c;意思是指每个派生出来的表都必须有一个自己的别名。 _mysql_exceptions.OperationalError: (1248, Every derived table must have its own alias) 如下两条select语句可以说明这个问题&am…