• 输出一维环形数组中最大子数组和最大子数组的位置


    组员 石鹤李海超

    一、题目

    输出一维环形数组中最大子数组的和 和最大子数组的位置

    二、设计思想

    把原数组扩大一倍,再把原数组放到后边,只需改变上次试验是循环变量即可求出最大子数组的和。

    三、源代码

    #include<iostream.h>
    #include<time.h>
    #include<stdlib.h>
    int main()
    {
        int arry[20];
        int start,end,i;
        long sum,max;
        cout<<"Please input 10 numbers:"<<endl;
        for( i=0;i<10;i++)
        {
            cin>>arry[i];
            arry[i+10]=arry[i];
        }
        max=arry[0];
        start=0;
        end=0;
        for(int j=0;j<10;j++)
        {
            sum=0;
            for(int k=j;k<10+j;k++)
            {
                sum=sum+arry[k];
                if(sum>max)
                {
                    max=sum;
                    start=j+1;
                    end=k+1;
                }
            }
        }
        cout<<"MAX IS"<<" "<<max<<endl;
        cout<<"START:"<<"The"<<" "<<start<<"th"<<" "<<"number"<<"    "<<"END:"<<"The"<<" "<<end%10<<"th"<<" "<<"number"<<endl;
        cout<<"These numbers are:";
        for(int c=0;c<end-start+1;c++)
        {
            cout<<arry[start+c-1]<<"  ";
        }
    }

    四、结果截图

    五、实验心得

    实验中没有遇到太大问题,我俩显示讨论得出了设计思想,然后经过对上次题目的改进的除了这次试验的程序,运行正确。

    希望以后继续进步。

    六、相片

     
  • 相关阅读:
    陪伴
    休假
    I'm back
    Mysql程序
    Mysql 行转列
    Struts2 设置--Myelipse
    struts2 严重: Error filterStart 原因
    廉价药
    在linux下用tomcat部署java web项目的过程与注意事项
    创建表格式
  • 原文地址:https://www.cnblogs.com/weaponx/p/4378805.html
Copyright © 2020-2023  润新知