• 课堂练习


    1.设计思想

    首先将随机生成的数存入一个数组中,然后计算每个子数组的和,定义一个二维数组记录和,该二维数组第一行表示一个数的行,第二行为相邻两个数相加的和的行,以此类推将所有的和存入,并将所有子数组的和进行输出。找出最大的子数组的和记录它的坐标及m和n,将最大数组的和输出,并对该和所对应的子数组中的数进行输出。

    2.源程序

    #include <iostream>
    using namespace std;
    #define N 20

    void main()
    {
    int a[N],b[N][N]={0},k=0;

    cout<<"生成的数组为:";
    for(int i=0;i<N;i++) //生成数组里的随机数
    {
    a[i]=rand()%100-50;
    cout<<a[i]<<" ";
    }
    cout<<endl;

    for(int i=0;i<N;i++)
    {
    for(int j=0;j<N-i;j++)
    {
    int k=1,m=j;
    while(k<=i+1)
    {
    b[i][j]+=a[m];
    m++;
    k++;
    }
    }
    }

    cout<<"各子数组的和分别为:";

    for(int i=0;i<N;i++)
    {
    for(int j=0;j<N-i;j++)
    {
    cout<<b[i][j]<<" ";
    }
    }
    cout<<endl;

    int m=0,n=0;
    for(int i=0;i<N;i++)
    {
    for(int j=0;j<N-i;j++)
    {
    if(b[i][j]>b[m][n])
    {
    m=i;
    n=j;
    }
    }
    }
    cout<<"最大的和为:"<<b[m][n]<<endl;
    cout<<"最大子数组中的数为:";
    for(int i=n;i<=n+m;i++)
    cout<<a[i]<<" ";
    cout<<endl;
    }

    3.结果截图

    4.总结

    开始的时候有一个思想,但是想了很久发现比较难实现,后来又琢磨了很久最终实现,在这个过程中对于将每个子数组的和存在二维数组中遇到了难题,还有就是子数组的输出过程中。以后想问题还是要思路清晰,认真思考,也尽可能的在纸上进行演算让自己的思维更明白些。

    5.

    (1)

    活动

    上课

    编写代码

    看书

    休息娱乐

    总计

     周一

    300

    300

        周二

    400

    400

    周三

    100

    100

    周四

    400

    400

    周五

    200

    30

    300

    530

    周六

    60

    300

    360

    周日

    120

    60

    200

    380

    总计

    1400

    310

    60

    800

    2570

    (2)

      日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    21/3

    22:00

    23:00

    22:40

    40

    找思路

    有一点想法

    22/3

    14:00

    14:40

    40

    找思路

    用二维数组存储和

    21:50

    2300

    70

    编程

    但是在二维数组求和那卡住了

    23/3

    10:30

    12:30

    120

    编程

     数组求和做出来,但是子数组输出有点不会

    16:00

    1730

    90

    编程、测试

     解决了问题,测试成功

    (3)

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

    22/3

    1

    二维数组定义

    编码

    编译

    45

    自己在纸上举例子进行了最后的完善定义

       22/3

    2

    循环混乱

    编码

    编译

    120

    经过思考进行改进

  • 相关阅读:
    基于吉日嘎底层架构的Web端权限管理操作演示-日志管理
    基于吉日嘎底层架构的Web端权限管理操作演示-组织机构管理
    基于吉日嘎底层架构的Web端权限管理操作演示-菜单模块管理
    基于吉日嘎底层架构的Web端权限管理操作演示-角色管理
    基于吉日嘎底层架构的Web端权限管理操作演示-用户管理
    扩展吉日嘎拉的用户角色管理,让用户角色编码和名称在一个组织里面唯一
    Redis 3.2.100 Windows 32位下载
    C#开发中Windows域认证登录2016(扩展吉日嘎拉GPM系统V4.2)
    JVM对象
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/mxj333/p/4360577.html
Copyright © 2020-2023  润新知