zoukankan      html  css  js  c++  java
  • 软件工程课后作业:返回一个二维整数数组中最大子数组的和

    题目:返回一个 二维整数 数组中最大子数组的和
    要求:

    1.输入一个二维整型数组,数组里包括正数和负数。
    2.二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和。
    3.求所有子数组的和的最大值。
    设计思想: 将求二维整数数组中最大子数组的和演变成一维数组求最大子数组的和。
    //1.首先确定最大子数组范围。
    //2.把二维数组分成几组不同列的数组,演变成一维数组求和的方法。
    //3.把分割的几个数组,用上节课一维数组求子数组之和最大值的方法求出子数组的最大值。
    //4.利用for循环完成计算。

    程序代码:
     #include<iostream>
    #include<stdlib.h>
    using namespace std;
    void main ()
     {
        int x,y,i,j,m=0;
         cout<<"请输入数组的行:";
         cin>>x;
         cout<<"请输入数组的列:";
         cin>>y;
         int *A = new int[x*y];
         cout<<"请按照行和列的格式输入一个数组:"<<endl;
         for(i=0;i<x;i++)
         {
             for(j=0;j<y;j++)
             {
                 cin>>A[i*y+j];  
             }
         }
         int sum[100]={0},MaxSum=A[0];
         for(j=0;j<y;j++)      
         {
             for(m=0;m<y;m++)     
             {             for(i=0;i<x;i++)
                 {
                     sum[i]=sum[i]+A[i*y+(m+j)];
                 }
                 int max=0;  
                 for(i=0;i<x;i++)
                 {
                   if(max+sum[i]>sum[i])
                     {
                        max=max+sum[i];
                     }
                     else
                     {
                        max=sum[i];
                    }
                     if(max>MaxSum)
                    {
                        MaxSum=max;
                     }
                 }
             }
             for(i=0;i<x;i++)
             {
                 sum[i]=0;
             }
         }
         cout<<"这个数组的最大子数组的和是:"<<MaxSum<<endl;
         system("pause");
     }

    运行结果:

    总结:本次作业我们采用结对开发,二人合作,虽然前期效率可能不如一个人效率高,但是慢慢的就明显的感觉到效率的提高,而且在更多代码更复杂的工作的时候,结对开发更是十分的方便,效率。我也返回二维整数数组中最大子数组的和有了一定的了解,深刻了我对上节课的单元测试的认识。

    组队照片:

  • 相关阅读:
    卷积神经网络
    舍弃—Dropout
    池化—Pooling
    Python基础知识点——简单 函数
    同事将excel数据转化为pdf,提前下班了,而我还在苦逼地做表
    怎么才能隐藏的IP?打造超强IP池项目,让你自己都忘记原本的IP
    Python爬取抖音视频(没有水印的哟)
    Python可视化:matplotlib 制作雷达图进行对比分析
    用于GIS(地理信息系统)和三维可视化制图的Python库
    关于如何在文件中调用命令窗口执行代码(以python为例)
  • 原文地址:https://www.cnblogs.com/haodong9/p/9825965.html
Copyright © 2011-2022 走看看