zoukankan      html  css  js  c++  java
  • 软件工程概论-合作作业01

    一、要求

      求一整数数组(有负数)循环子数组之和的最大值。

    二、思路

      1.从数组的后面排除小于0或者累加小于0的,用max记录被排除的子数组的和的最大值;

      2.循环则变化原数组,如{a0,a1,...an}则可以变化为{a0,a1,...an,a0,a1..an-1};

    三、源代码

     1 #include <iostream>
     2 #include <iomanip>
     3 #include <vector>
     4 using namespace std;
     5 void showArray(vector<int> x)
     6 {
     7     if(x.size()==0)
     8         cout<<"NULL"<<endl;
     9     int len=x.size();
    10     for(int i=0;i<len;i++)
    11     {
    12         cout<<setw(5)<<x[i];
    13     }
    14     cout<<endl;
    15 }
    16 int sonArrMax(vector<int> array)
    17 {
    18     if(array.size()==0) return -59659;
    19     int len=array.size();
    20     int maxNum=0;
    21     int sum=0;
    22     for(int i=0;i<len-1;i++)
    23     {
    24         array.push_back(array[i]);
    25     }
    26     len=array.size();
    27     for(int i=0;i<len;i++)
    28     {
    29         sum+=array[i];
    30         if(sum>maxNum)
    31         {
    32             maxNum=sum;
    33         }
    34         if(sum<0)
    35         {
    36             sum=0;
    37         }
    38     }
    39     return maxNum;
    40 }
    41 
    42 void main()
    43 {
    44     vector<int> array;
    45     int arr[]={1,2,-3,0,7,-8,5};//测试数组
    46     for(int i=0;i<7;i++)
    47         array.push_back(arr[i]);
    48     /*int x,number;
    49     cout<<"数组长度:"<<endl;
    50     cin>>number;
    51     cout<<"输入"<<number<<"个整数:"<<endl;
    52     for(int i=0;i<number;i++)
    53     {
    54         cin>>x;
    55         array.push_back(x);
    56     }*/
    57     cout<<"该数组为:"<<endl;
    58     showArray(array);
    59     cout<<"最大环子数组和为:"<<sonArrMax(array)<<endl;
    60 }
    View Code

    四、实验结果

      

  • 相关阅读:
    PyQt 滚动条自动到最底部
    Python 装饰器示例,计算函数或方法执行时间
    pyuic5将.ui文件转为.py文件
    Python pyinstaller 参数
    Win+R 常用命令
    CODEVS 2171 棋盘覆盖
    P3924 康娜的线段树
    P1850 换教室
    U33405 纽约
    POJ
  • 原文地址:https://www.cnblogs.com/yifengyifeng/p/6652998.html
Copyright © 2011-2022 走看看