计算机与软件工程 第三次作业
作业要求在哪 | (https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454) |
---|---|
我在这个课程的目标是 | 练习编程,进行单元测试 |
此作业在哪个具体方面帮我实现目标 | 编程计算,测试 |
其他参考文献 | (https://www.cnblogs.com/xinz/archive/2011/11/20/2255830.html)(https://www.cnblogs.com/SivilTaram/p/software_pretraining_cpp.html) |
作业正文 | (https://gitee.com/gardonD/dl-git1.git) |
代码
#include<iostream>
#include<cstdlib>
using namespace std;
int getmax(int array[],int length)
{
int sum = 0;
int max = 0;
int startIndex = 0;
int endIndex = 0;
int newStartIndex = 0;
for (int i = 0; i < length; i++)
{
if (max < 0)
{
max = array[i];
newStartIndex = i;
}
else
{
max += array[i];
}
if (sum < max)
{
sum = max;
startIndex = newStartIndex;
endIndex = i;
}
}
return max;
}
int getstartIndex(int array[],int length)
{
int sum = 0;
int max = 0;
int startIndex = 0;
int endIndex = 0;
int newStartIndex = 0;
for (int i = 0; i < length; i++)
{
if (max < 0)
{
max = array[i];
newStartIndex = i;
}
else
{
max += array[i];
}
if (sum < max)
{
sum = max;
startIndex = newStartIndex;
endIndex = i;
}
}
return startIndex;
}
int getendIndex(int array[],int length)
{
int sum = 0;
int max = 0;
int startIndex = 0;
int endIndex = 0;
int newStartIndex = 0;
for (int i = 0; i < length; i++)
{
if (max < 0) //如果max < 0;
{
max = array[i];
newStartIndex = i;
}
else
{
max += array[i];
}
if (sum < max)
{
sum = max;
startIndex = newStartIndex;
endIndex = i;
}
}
return endIndex;
}
int main()
{
int length,i=0;
cout<<"请输入个数:";
cin>>length;
cout<<"请输入数组:";
int array[1000]={0};
for(i=0;i<length;i++)
{
cin>>array[i];
}
cout<<"最大子数组的和为:"<<getmax(array,length)<<endl;
cout<<"最大子数组起始下标:"<<getstartIndex(array,length)<<endl;
cout<<"最大子数组结束下标:"<<getendIndex(array,length)<<endl;
system("pause");
return 0;
}
运行截图
单元测试
#include "stdafx.h"
#include "CppUnitTest.h"
#include "h2.cpp"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest2
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
// TODO: 在此输入测试代码
int a[]={-32,-10,33,-23,32,-12,41,-12,1,3,5,-98,70,-21,10,-9,61};
Assert::AreEqual(111,getmax(a,17));
}
};
}
测试截图
小结
单元测试在配置过程中遭遇了瓶颈,test一直无法打开源文件,原因是文件配置路径没设置,在同学的帮助下解决了。
博客作业
在新科专业也学习了半个大学了,对一些基本的计算机软件语言有了一定的认知,c++,matlab,java,netbeans,asp,操作系统,数据结构。从个人所取得成就来说,只有一门二级MSOffice和一些数学计算方式。
将来不准备从事编程行业,不感兴趣是一部分,自身能力不足也是一部分,目前只能编一些简单程序,但是计算机是行业内不可缺少的工具,所以还是想通过软件工程学习,掌握一些实用的技能,也算增加一点就业优势,个人认为Java语言比较容易,考证也相对容易。
总的来说,目前主要能将各个软件,语言,程序结合关联起来,代码编程部分还是不熟练,对于就业还是远远不够的,在将来的软工学习中,还是要加强自己的编码能力,熟悉各个软件的使用。