zoukankan      html  css  js  c++  java
  • 首尾相连数组

    一、实验思路

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

      丁官甲:程序编码和思路讨论                   吴论:思路讨论,代码编程后的测试和审核

    二、实验代码

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

    }

  • 相关阅读:
    BZOJ 3260: 跳 (组合恒等式)
    BZOJ 1924 [SDOI 2010] 所驼门王的宝藏 (优化建图+tarjan+最长链)
    BZOJ 3451Normal (点分治+FFT)
    BZOJ 2213: [Poi2011]Difference (DP)
    BZOJ 3251 树上三角形 (暴力)
    [HNOI2008]明明的烦恼
    HDU 1521 排列组合
    [HNOI2008]神奇的国度
    [HNOI2008]遥远的行星
    [HNOI2001]软件开发
  • 原文地址:https://www.cnblogs.com/wulun/p/5325735.html
Copyright © 2011-2022 走看看