• 计算与软件工程作业三


    计算与软件工程作业三

    作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454
    课程目标 积累编程的知识,增强简单开发的能力
    实现目标的方面 代码理解与运行
    本次作业 https://www.cnblogs.com/cdinzz/p/12459432.html

    作业1 单元测试

    数组中最大子数组的和

    用类/函数来实现
    需求:希望返回 3 种信息
    最大子数组的和
    最大子数组开始的下标
    最大子数组结束的下标

    代码如下:

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

    作业2 博客作业

    信息与计算科学这个专业对数学知识和计算机能力都有所要求,在大学的前两年,我学习了高等代数、数学分析等数学知识,也学习了c++、java、matlab的相关知识与运用,但仅仅简单了解未花时间用心研究钻研,也十分欠缺充分的了解与创造应用。对此,后续大学一年的目标是更深入的了解数学知识技能,并同样充实计算机技能,重视专业相关的各项学习。

    码云:https://gitee.com/cd_in_zz/learngit/blob/master/test2.cpp

  • 相关阅读:
    Python基础学习Day2
    Python基础学习
    字符串
    function对象
    GCN入门理解
    L1、L2正则化详解
    Matplotlib数据可视化基础
    sklearn 中模型保存的两种方法
    一文弄懂神经网络中的反向传播法——BackPropagation
    seaborn可视化
  • 原文地址:https://www.cnblogs.com/cdinzz/p/12459432.html
Copyright © 2020-2023  润新知