• 输出整数数组中 最大的子数组的结果


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

           

          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;
    }
  • 相关阅读:
    Git 中 .gitignore 的配置语法
    DMX512协议
    k8s 报错总结
    yum 源配置
    docker 安装 docker-compose
    docker 搭建 Harbor 仓库
    linux 远程执行命令
    远程从服务器A拷贝文件到服务器B
    docker 搭建私服仓库
    awk和xargs清除docker 容器、镜像
  • 原文地址:https://www.cnblogs.com/songjingchao/p/3592508.html
Copyright © 2020-2023  润新知