zoukankan      html  css  js  c++  java
  • “数组最大值求和”分析报告

    “数组最大值求和”分析报告

     

    一、设计思想

    1.定义一个数组元素个数可变的数组,用宏定义实现(a[n])。

    2.用rand函数产生正负随机数,存入数组中。

    3.定义一个二维数组(b[n][n]),用来依次存放各个子数组的值。

    4.找出二维数组中最大的值,就是最大的子数组的值。

    5.二维数组中的最大值的下标,就分别是最大子数组的起始下标和结束下标,比如b[2][4]是二维数组中最大的值,即最大子数组的下标就是2、3、4。

    二、代码

    #include<iostream>
    #include<time.h>
    using namespace std;
    
    void main()
    {
        int a[10],b[10][10],i,j,s=0,w=0;
    
        srand((int)time(0));
    
        for(i=0;i<10;i++)
            a[i]=-rand()%36+25;
    
        for(i=0;i<10;i++)
            cout<<a[i]<<endl;
    
        for(i=0;i<10;i++)
        {
            w=0;
            for(j=i;j<10;j++)
            {
                w+=a[j];
                b[i][j]=w;
                s++;
            }
        }
    
        int t=0,p1,p2;
    
        for(i=0;i<10;i++)
            for(j=0;j<10;j++)
                if(b[i][j]>t)
                {
                    t=b[i][j];
                    p1=i;
                    p2=j;
                }
    
        if(p1==p2)
        {
                cout<<"最大子数组的值为:"<<t<<endl;
                cout<<"其包括的数组元素下标为:"<<p1<<endl;
        }
        else
        {
            cout<<"最大子数组的值为:"<<t<<endl;
            cout<<"其包括的数组元素下标为:"<<p1<<"~"<<p2<<endl;
        }
    }

     

    三、结果截图

    四、时间日志

     

     

  • 相关阅读:
    django学习笔记
    django配置setting文件
    django用mysql数据库出现的问题解决
    hadoop本地集群搭建
    生成器
    Java自动装箱的陷阱
    LeetCode 89. Gray Code
    LeetCode 476. Number Complement
    Javac编译与JIT编译
    LeetCode 462. Minimum Moves to Equal Array Elements II
  • 原文地址:https://www.cnblogs.com/meimiaozi/p/4359443.html
Copyright © 2011-2022 走看看