博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
07 个人项目3
阅读量:4995 次
发布时间:2019-06-12

本文共 1482 字,大约阅读时间需要 4 分钟。

发表日期:

1.要求:

(1)实现在线答题

(2)答题结束后,可以判断对错

(3)并将错题的结果保存起来

 

2.设计思想 :

 

 通过更改数组的长度将数组拟合成一个循环数组,将普通的一维数组A[n]的前n-1位数组数加到数组A[n]后面组成一个新的数组A[2n-1],再进行普通的一维数组的计算

 

3、源程序

 

#inc,lude <iostream>

using namespace std;

#define N 1000

int main(int argc, char* argv[])

{

  int arry[N];

  int length=1;

  int max[N],max1; //max[N]存每一次求和的结果,在其中找最大值,为所求

  int maxweizhi[N];

  int num=0;

  int value( int arry[],int length);

  cout<<"请输入数组:"<<endl;

  cin >> arry[0];

  while (getchar() != '\n') //输入数组

  {

    cin >> arry[length];

    length++;

  }  

  for(int j=length;j<2*length-1;j++) //形成环形数组,首位相连

  {

    arry[j]=arry[num];

    num++;

  }

  cout<<"由这几个数形成的环形数组";

  value(arry,2*length-1);

  return 0;

}

int value( int arry[],int length)

{

  int max[N],max1;

  int maxweizhi[N];

  for(int j=0;j<(length+1)/2;j++)

  {

    int sum=0;

    max1=-9999999; //设置最低范围

    int z=0;

    for(int i=j;i<(length+1)/2+j;i++) //环形数组找最大子数组和

    {

      sum=sum+arry[i];

      if(sum>=max1)

      {

        max1=sum;

        z++;

      }

    }

    max[j]=max1;

    maxweizhi[j]=z;

  }

  int fmax=max[0];

  int q=0;

  for(int i=0;i<(length+1/2);i++) //在所有和的数组中找最大值

  

    if(max[i]>fmax)

    {

      fmax=max[i];

      q=i;

    }

  }

  int weizhi=maxweizhi[q];

  cout<<"最大子数组为:"<<endl;

  for(int num=q;num<q+weizhi;num++) //输出最大子数组的位置

  {

    cout<<arry[num];

  }

  cout<<"其和为: "<<fmax<<endl;

  return 0;

}

 

4.运行结果截图:

 

 

5.心得体会

通过本次实验,让我们对C++的掌握更加熟练,也对结对开发有了更深入的了解。

 

6.工作照片

 

转载于:https://www.cnblogs.com/lyf18974296791/p/10252707.html

你可能感兴趣的文章
1169.比较奇偶数个数
查看>>
Java – How to convert Array to Stream
查看>>
java学习1-环境搭建
查看>>
c# 获取当前季的第一天以及最后一天
查看>>
MYSQL生成两个日期之间的所有日期数据
查看>>
shell脚本安装jdk
查看>>
( 转)Sqlserver中tinyint, smallint, int, bigint的区别 及 10进制转换16进制的方法
查看>>
ASP.NET实现类似Excel的数据透视表
查看>>
js在IE与firefox的差别。。。
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
html4与html5的区别及html5的一些新特性
查看>>
2018年牛客多校算法寒假训练营练习比赛(第一场)C. 六子冲
查看>>
版本工具管理之----git
查看>>
JavaEE基础(二十四)/多线程
查看>>
利用httpd.ini和.htaccess的Rewrite实现301域名重定向
查看>>
EZ 2017 01 07 t
查看>>
阿里开源分布式事务解决方案 Fescar 全解析
查看>>
python-twisted系列(1)
查看>>
《黑马程序员》C语言中的基本运算(C语言)
查看>>
FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」...
查看>>