zoukankan      html  css  js  c++  java
  • 软件工程课堂练习1000个数组

    实验目的:

    返回至少一个整数数组中最大子数组的和(能至少处理1000个元素)

    实验思路:

    随机生成指定个数的数组 然后进行计算并输出

    #include<iostream>
    #include<time.h>
    #include<conio.h>
    #define N 1000
    using namespace std;
    void RandIn(int IntNum,int A[])   //随机生成数组
    {
        cout<<"整数内容"<<endl;
        for(int i=0;i<IntNum;i++)
        {
            A[i]=rand()-rand();
            cout<<A[i];  
            if(i%15==4)
                cout<<endl;
            else
                cout<<'	';
        }
    }
    void SelMax(int IntNum,int A[],auto &sum)
    {
        auto buffer=0; 
        int count1=0;        //求和的数值个数
        int count2=0;    //进行的运算次数
        for(int j=0;j<=IntNum;j++)
        {
            if(j==IntNum)
            {
                j=0;
            }
            buffer+=A[j];
            count1++;
            count2++;
            if(buffer<0)    
            {
                buffer=0;
                count1=0;
            }
            if(sum<buffer)//sum始终记录下存在的最大和
            {
                sum=buffer;
            }
            
            {
                break;
            }
        }
    }
    void main()
    {
         
        int IntNum;
        int A[N];
        int q=0;
        while(q==0)
        {
            auto sum=0;
            srand((unsigned)time(NULL));
            cout<<"请输入数组元素的个数:";
            cin>>IntNum;
            RandIn(IntNum,A);
            SelMax(IntNum,A,sum);
            cout<<endl;
            cout<<sum<<endl;
            cout<<"是否继续测试(输入0则继续否则停止)";
            cin>>q;
            system("cls");
        }
    }

    当结果溢出时

    当无溢出时

    二人合作

  • 相关阅读:
    最小顶点覆盖,最大独立集,最小边覆盖
    Security Badges
    异常
    List和Set
    数据结构
    Collection集合
    Excel序号递增
    VM虚拟机桥接模式无法联网解决办法
    mybatis-Plus方法指定更新的字段
    maven项目 导出相关依赖包到指定文件夹
  • 原文地址:https://www.cnblogs.com/cc173640639/p/9786517.html
Copyright © 2011-2022 走看看