zoukankan      html  css  js  c++  java
  • 输出整数数组中 最大的子数组的结果

    今天课堂上老师布置的任务是  编写程序 输出整数数组中 最大的子数组;

           

          int i,r,u=0,w,q,max,sum=0;
            max=a[0];
            for(i=u;i<j;i++)
            {
                for(r=u;r<=i;r++)
                {
                    sum=a[r]+sum;
                }
                if(max<sum) 
                {
                  max=sum;
                  w=u;
                  q=i;
                  
                }
                sum=0;
                if(i==j-1) {u++;i=u-1;}
            }
            cout<<"子数组为:";
            for(r=w;r<=q;r++)
            {
                cout<<a[r]<<" ";
            }
            
            return max;
        } 

    开始我们我们就是输入5个数,然后 遍历寻找最大的;后来利用for循环语句;再到后来if(i==j-1) {u++;i=u-1;}的时候,

    我们混乱了 一下写成了if(i==j-1) {u++;i=u-;}然后每次输出的结果只有第一个数。后来才发现的问题;

    课下又实现了对最大子数组的记录并且修改完善;

    int max_shuzu(int a[],int j) 
    {
        if(a==NULL) return -1;
        else
        {
            int i,k=0,sum=0,max;
            for(i=0;i<j;i++)
            {
                sum=sum+a[i];
                if(max<sum) 
                {
                    max=sum;
                }
                if(i==j-1)
                {
                    i=k++;
                    i=i-1;
                    sum=0;
                }
            }
            return max; 
        }
        
        
    }
    
        
    
    int main(int argc, char *argv[])
    {
        int a[5]={1,2,4,2,3};
        cout<<"最大和为:"<<max_shuzu(a,5); 
    
        return 0;
    }
  • 相关阅读:
    JS中every()和some()的用法
    Git 各指令的本质
    vue登录3D效果
    vue打包后反编译到源代码(reverse-sourcemap)
    CSS Modules
    有了 HTTP 协议,为什么还需要 Websocket?
    微信小程序的实现原理
    JS
    微信小程序的发布流程
    中国地图
  • 原文地址:https://www.cnblogs.com/songjingchao/p/3592508.html
Copyright © 2011-2022 走看看