软件工程个人作业4(课堂练习&&课堂作业)
题目:返回一个整数数组中最大子数组的和。
要求:1、输入一个整型数组,数组里有正书和负数。
2、数组中连续的一个或者多个整数组,每个子数组都有一个和。
3、求所有子数组的和的最大值。要求时间复杂度为0(n)。
设计思想:
1、定义一维数组,为实现可以输入任意多个值在此处用到vectors容器。
2、输入
3、实现方法:从两头进行。以数组的前端为例,比较下标为0与下标为1的两个元素进行比较选择,若下标为0的元素的数值小于0则直接舍弃,若大于零则将该元素的值与下标为1的元素相加并赋值给下标为1的元素,在进行循环。
程序代码:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std; int main()
{
int t;
int a;
int max;
vector<int>ivec1;//创建vector对象
vector<int>::size_type iz;//数组的程度为iz;
cout << "请输入一组数:" << endl;
while(cin>>a)
{
ivec1.push_back (a);
if(getchar()=='\n')
break;
} iz=ivec1.size();
cout << "数字元素的个数:" << iz << endl; for(int i = ;i < iz/;i++)
{
if(ivec1[i] < )
{
t = ivec1[i+];
}
if(ivec1[i] > )
{
t = ivec1[i] + ivec1[i+];
}
ivec1[i+] = t;
}
for(int i = iz-;i > iz/+;i--)
{
if(ivec1[i] < )
{
t = ivec1[i-];
}
if(ivec1[i] > )
{
t = ivec1[i] + ivec1[i-];
}
ivec1[i-] = t;
} if(ivec1[iz/]>=)
{
max = ivec1[iz/] + ivec1[iz/+];
}
else
max = ivec1[iz/+];
cout << "最大"<< max ;
return ;
}
运行结果截图:

反思总结:这个程序仅仅是考虑了最大值时正数的情况;
遇到的问题:
1、随意输入任意个整型数字(用vectors容器)
2、定义变量max比较存储最大值(开始被忽略了)
3、筛选时要从两头进行。
4、有些情况不能正常运行。
软件工程个人作业4(课堂练习&&课堂作业)的更多相关文章
- 福州大学软件工程1816 | W班 第5次作业成绩排名
写在前面 汇总成绩排名链接 1.作业链接 第五次作业--项目选题报告(团队) 2.评分准则 本次作业映射总分为100分+贡献度得分,由以下部分组成: 选题报告内容(10分) 本组评审表设计(5分) 现 ...
- 软件工程(GZSD2015)第三次作业提交进度
第三次作业题目请查看这里:软件工程(GZSD2015)第三次作业 开始进入第三次作业提交进度记录中,童鞋们,虚位以待哈... 2015年4月19号 徐镇.尚清丽,C语言 2015年4月21号 毛涛.徐 ...
- 《软件工程和Python》第0周作业1
写在前面的话 欢迎大家开始一段新的课程学习!从开博客开始吧.每次博客作业都会有评分,计入总成绩哦. 1. 截止日期 本次作业的提交截止时间:见老师要求 2. 作业要求 (1)建立个人技术博客和 ...
- 福州大学软件工程1816 | W班 第1次作业成绩排名
1.作业地址 第一次作业--准备篇 2.作业要求 (1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 你认为过去两年中接触到的课程是否符合你对计算机专业的期待,为什 ...
- 福州大学软件工程1816 | W班 第3次作业成绩排名
写在前面 汇总成绩排名链接 1.作业链接 第三次作业--原型设计(结对第一次) 2.评分准则 本次作业总分 25分,由以下部分组成: (1)在随笔开头请加上该博客链接,以方便阅读时查看作业需求,并备注 ...
- 福州大学软件工程1816 | W班 第7次作业成绩排名
写在前面 汇总成绩排名链接 1.作业链接 第七次作业--项目需求分析(团队) 2.评分准则 本次作业映射总分为100分+贡献度得分,由以下部分组成: 引言(5 points) . 用户场景(15 po ...
- OO第四次博客作业(第四单元作业及期末总结)
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1 我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不 ...
- SQL Server代理(6/12):作业里的工作流——深入作业步骤
SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. 如我们在这里系列的前几篇文章所见,SQL ...
- 南京邮电大学java程序设计作业在线编程第二次作业
王利国的"Java语言程序设计第2次作业(2018)"详细 作业结果详细 总分:100 选择题得分:60 1. 表达式9==8&&3<7的运算结果是( ) ...
- 《团队作业》五小福团队作业--UNO-- LandingDay--降落
<团队作业>五小福团队作业--UNO-- LandingDay--降落 写在前面 几周的飞行之后,降落之日也如期而至了.在2018年12月19日我们顺利地完成了项目的总结汇报.但是,短暂的 ...
随机推荐
- 安装Oracle软件
1.安装linux操作系统和VMware Tools 2.创建组和用户,以root用户运行以下命令: groupadd -g 1000 oinstall groupadd -g 1001 dba us ...
- 对付ring0 inline hook
对付ring0 inline hook的基本思路是这样的,自己写一个替换的内核函数,以NtOpenProcess为例,就是MyNtOpenProcess.然后修改SSDT表,让系统服务进入自己的函数M ...
- java servlet上传文件并把文件内容显示在网页中
servlet3.0(JDK1.6)自带的API即可实现本地文件的上传,Servlet3.0新增了Part接口,HttpServletRequest的getPart()方法取得Part实现对象.下面我 ...
- ibatis 改下数据库连接
<!--<dataSource name="iBatisNet" connectionString="data source= DESKTO ...
- 第四次java实验报告
20145306 实验四 java 开发基础 设计过程: 1.创建项目 2.选择activity_main.xml 3.显示自己的学号 4.双击改变字体大小 5.预览
- javaSE第三天
第三天 12 1:运算符(掌握) 12 (1)算术运算符 12 (2)赋值运算符 12 (3)比较运算符 13 (4)逻辑运算符 13 (5)位运算符(了解) ...
- MBR解析
先推广一下QQ群:61618925.欢迎各位爱好编程的朋友加入. 一.程序界面 二.关键部分代码: 1.数据结构定义 #define MBRSIZE 512 #define BOOTRECORDSIZ ...
- JS日期(Date)处理函数总结
获取日期 1.Date() ——返回当日的日期和时间. 2.getDate() ——从 Date 对象返回一个月中的某一天 (1 ~ 31). 3.getDay() ——从 Date 对象返回一周中的 ...
- html Doctype作用?
Doctype它主要的作用来声明html的版本 <!Doctype html>这是html5的 不写可能会造成html5的功能不能用(具体会不会出错就要看浏览器的容错性)
- POJ C程序设计进阶 编程题#1:含k个3的数
编程题#1:含k个3的数 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输 ...