• 结对开发 首尾相连数组


    一、实验思路

       按要求随机产生几个数,然后先求数组的最大子数组的最大值,然后再比较他们的最大值求出整个子数组的最大子数组和

      付东:程序编码和思路讨论                    岳竞一:思路讨论,代码编程后的测试和审核

    二、实验代码

    #include<iostream.h>

    #include<stdlib.h>

    int Maxsum(int *a,int n)//一维数组的求最大

    {

       int tempstart =0,sum=0,max=-1000;

       int i;   

      int start,end;  

      start=end=0;  

      for(i=0;i<n;i++)

       {

            if(sum<0)

          {

            sum=a[i];

            tempstart=i;

          }

          else

          {

            sum+=a[i];

             }

          if(sum>max)

          {

            max=sum;

            start=tempstart;

            end=i;

          }  

           } //

       cout<<"start="<<start<<endl<<"end="<<i<<endl;

       return max;

    }

    int main()

    {

        int b[10000];

        int max[10000];

        int num,i;

         cout<<"输入数组成员个数:";

        cin>>num;

        for(i=0;i<num;i++)

        {

           b[i]=(rand()%1000)-500;

        }

        cout<<"输出数组:"<<endl;

         for(i=0;i<num;i++)

        {

           cout<<b[i]<<" ";

        }

       cout<<endl; 

      for(i=0;i<(num-1);i++)  //将环状数组转换为一维数组

       {

          b[num+i]=b[i];

       }

       int d[1000],st,en;

       for(i=0;i<num;i++)   //将一维数组转换为n个最大子数组  

      {

            for(int j=0;j<num;j++)  

            {

            d[j]=b[i+j];

            max[i]=Maxsum(d,num);

            }

       }

       int maxm=max[0];//比较n个最大子数组的最大子数组的最大值

      for(i=0;i<num;i++)

       { 

          if( maxm>max[i])

          {

            maxm=max[i];

          }

       }

      cout<<"最大子数组和为:"<<maxm<<endl;

      return 0;

    }

    三、实验结果截图

    四、实验心得

      在本次实验中,我们拓宽了思路,发现解决问题的办法有很多,要选用自己会的熟悉的方法来解决,当然在课堂和平时练习中应该多练练生疏的知识。

    五、我的基友

  • 相关阅读:
    ES6:Iterator遍历器
    前端:对BFC的理解
    前端:性能优化之防抖与节流
    ES6新增数据类型Symbol
    ajax和fetch、aixos的区别
    我对js数据类型的理解和深浅(copy)的应用场景
    egg的基本使用
    前端:css3的过渡与动画的基础知识
    Java基础篇之类
    JAVA基础篇之Scanner
  • 原文地址:https://www.cnblogs.com/yue3475975/p/4378409.html
Copyright © 2020-2023  润新知