设计思路:

首先定义一个四行四列的二维数组
通过两个子函数实现,一个求一维最大子数组和,一个求相应列下标二维元素相加和并作比较

1.通过上次的一位数组求最大值,可以先求出每一行最大连续子数组的和

2.记下上下边界元素的下标

3.每一行都有一个最大子数组,将它对应的相同列下标的元素相加,得到i个子数组和存到一个一维数组b中

4.通过循环比较数组b中元素的大小,找到最大值sum

源代码:

#include<stdio.h>
#define M 4
#define N 4
int MAXarr(int m,int n, int array[M][N]);//整合到一维数组
int maxx(int *arr, int len) ;//求最大和
int main()
{
    int arr[M][N] = {  { -8, 21, 30, 16 }, { 21, 7, -10, 35 }, { 22, 16, 20, -18 }, {12, 75, -9, 6} };
    printf( "最大子数组和:");
    printf("%d", MAXarr(M, N, arr) );
    return 0;
}
int maxx(int *a, int len)
{
    int m[100]={0},f=0,x=0;
    int Y;
    m[x]=0;
    while(f<100)
    {
          if(a[f]>0)
          {

m[x]=a[f]+m[x];
              f=f+1;
          }
        else 
         {

x=x+1;
             m[x]=0;
             if(a[++f]>0)
            {
                m[x]=a[f]+m[x];
             }
          f++;
       }
}

Y=m[0];
for(int r=0;r<f;r++)
 {
      if(m[r]>Y)
       {
            Y=m[r];
         }
      r++;
 }
return Y;
}

本次编程由我的搭档冯金硕和我一起完成,由于编程基础较差,我们先在网上查找现有程序进行了解,加以借鉴,修改完成。

转载于:https://www.cnblogs.com/grrd17s/p/9826114.html

返回一个二维整数数组中最大子数组的和相关推荐

  1. 课堂作业:返回一个二维整数组中最大子数组的和

    要求: 1.输入一个二维整形数组,数组里有整数也有负数. 2.二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 结对编程要求: ...

  2. 返回一个二维整数数组中最大联通子数组的和

    题目:返回一个二维整数数组中最大联通子数组的和. 要求:输入一个二维整形数组,数组里有正数也有负数.求所有子数组的和的最大值. 一.设计思想 先求出这个这个数组中的最大值,并定位,然后找出这个值周围的 ...

  3. 返回一个二维整数数组中最大子数组的和(二人结对)

    题目:返回一个二维整数数组中最大子数组的和 要求:1.输入一个二维整型数组,数组里有正数也有负数. 2.二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值. ...

  4. 返回一个二维整数数组最大联通子数组的和(思路)

    返回一个二维整数数组最大联通子数组的和(思路) 题目: 输入一个二维整形数组,数组里有正数也有负数. 求所有子数组的和的最大值. 总体思路: 返回一个最大的二维联通子数组的思路总体上和二维首尾子数组相 ...

  5. 返回一个二维整数数组中的最大子数组的和

    一.课题要求: 输入一个二维整形数组,数组里有正数也有负数:           二维数组中连续的一个子矩阵组成一个子数组,没个子数组都有一个和: 如果数组A[0]--A[j-1]首尾相邻,允许A[i ...

  6. 返回一个二维整数数组中的最大的子数组和

    一.题目: 1.输入一个二维整形数组,数组里有正数有负数. 2.二维数组中连续的一个子矩阵组成一个子数组. 3.求所有子数组的和的最大值. 二.设计思想: .定义一个二维数组,使用二重循环对其进行赋值 ...

  7. 返回一个二维整数数组最大子数组的和

     要求: 1,输入一个二维整形数组,数组里有正数也有负数. 2,二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和, 3,求所有子数组的和的最大值. 设计思路: 参照一维整数数组求解最大子 ...

  8. 返回一个首尾相接的二维整数数组中最大子数组的和

    题目: ·返回一个二维整数数组中最大子数组的和. 要求: ·输入一个二维整形数组,数组里有正数也有负数. ·二维数组首尾相接,象个一条首尾相接带子一样. ·数组中连续的一个或多个整数组成一个子数组,每 ...

  9. 求二维整数数组中最大子数组的和(结对作业)

    题目:返回一个二维整数数组中最大子数组的和 要求:(1)输入一个二维整形数组,数组里有正数也有负数. (2)二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和. (3)求所有子数组的和最大 ...

最新文章

  1. 一场由nginx优化引起的tcp/ip及tcpdump研究
  2. Solr实现SQL的查询与统计--转载
  3. 作业09-集合与泛型
  4. React 正常渲染后端返回的HTML代码
  5. bootstrap switch只出现一个对号_python:34.第一个只出现一次的字符位置
  6. vue请求数据传给子组件_vue.js基础,父组件如何向子组件传递数据「607」
  7. pdf转换器下载使用步骤
  8. HTML+CSS期末大作业:家乡旅游网站设计——山东菏泽(6页) 简单个人网页设计作业 静态HTML旅行主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码
  9. 【DirectX】D3D中基本图形绘制函数形参意义(总结)
  10. golang常量与逻辑运算基本语法
  11. 关于三角形外心性质的探究
  12. 认识越南语的发音体系
  13. 计算机无法保存其他共享用户,Win7共享打印机出现 无法保存打印机设置 操作无法完成 错误0x000006d9解决方法...
  14. C# 如何取得本机网卡的型号,IP地址,子网掩码和网关
  15. Linux(CentOS)安装MySQL教程
  16. echarts X轴文字排列方式总结
  17. nasm寄存器xmm[0~8使用]
  18. 软件新产品开发失败原因分析
  19. 图2——利用邻接表创建有向图
  20. 密码算法测试向量——HMAC-SM3

热门文章

  1. performSelector may cause a leak because its selector is unknown
  2. 上传图片动态预览(兼容主流浏览器)
  3. webpack加载postcss,以及autoprefixer的loader
  4. 浅析利用MetaWeblog接口同步多个博客
  5. 随想:如果手机与手机之间具备了无线电测距测向功能
  6. Lync Server 2010 语音质量
  7. multi agent system university of liverpool professional presentation
  8. ANSI, UNICODE与UTF8相互转换模板类
  9. 参数cluster_interconnect详细介绍
  10. 中国移动推出企业飞信 五大亮点深挖企业服务