zoukankan      html  css  js  c++  java
  • 计算与软件工程 作业三

    作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454
    我在这个课程的目标是 提高自己的相关能力
    此作业在哪个具体方面帮我实现目标 接触并掌握新的软件功能
    作业正文 https://www.cnblogs.com/wyc1/p/12459804.html
    gitee链接 https://gitee.com/wu_yu_chen1/learngit/blob/master/array.cpp

    作业正文#

    程序##

    #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 < temp;
            {
                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 = 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;
    }
    

    运行结果##

    单元测试##

    由于我用的是vs2010,但是查到vs2010是没有c++的单元测试模块的。
    我上网查了一些资料,发现貌似是可以间接实现标准C++单元测试,但是我没有成功实现。
    希望以后可以改进。

    博客作业##

    回顾总结你在信息与计算科学专业前两年的学习经历和项目技能等,写一篇关于你自己的简历,介绍你的技能,并针对未来准备从事的职业,评价你目前的技术、能力是否胜任,(个人能力的评价可以参考软件工程师个人能力评价表https://www.cnblogs.com/xinz/p/3852177.html),并针对未来的职业发展方向,指明还有哪些技术、技能需要在后续大学一年的时间里需要加强的。

    在大学的前两年学习过c++、java、matlab等程序设计语言,计算机相关课程接触过数据结构、操作系统、asp网页设计、数据库。
    基本停留在基础阶段,没有深入的研究,仅能够解决一些小问题。数据结构也仅仅停留在书本知识层面,对于实际应用没有概念。
    目前仍在学习中,希望学习matlab等一些模型建立知识,以及尝试学习一些数据挖掘方面的知识。

  • 相关阅读:
    iOS开发——Xcode快捷键
    iOS开发——国际化支持Localizable.strings
    SQL 函数
    常用窗体表单布局
    Extjs grid combo
    怎么完全卸载sql2005?
    ExtJS文件上传
    ExtJS视频学习笔记
    ExtJS问题集——Menu的show()和showBy()函数是什么意思
    C# DataGridView操作
  • 原文地址:https://www.cnblogs.com/wyc1/p/12459804.html
Copyright © 2011-2022 走看看