作业4

一.题目:求一个二维整数数组中最大子数组的和
二.设计思想:
假如有一个i行j列的二维数组,可以有正有负
通过两个子函数实现
(一.)
通过上次的一位数组求最大值,可以先求出每一行最大连续子数组的和
(二.)
记下上下边界元素的下标
(三.)
每一行都有一个最大子数组,将它对应的相同列下标的元素相加,得到i个子数组和存到一个一维数组b中
(四.)
通过循环比较数组b中元素的大小,找到最大值sum
三·过程:
我和郭瑾慧同学交流了课上各自的想法,通过讨论最后确定这个设计思想,但是我们的编程基础都不好,关于一些算法的实现是边学边写的。
通过这次的结对项目,关于一个目的的实现要先分成小的目的,最后再整合到一起

四·代码

#include<stdio.h>
#define M 5
#define N 5
int MAXarr(int m,int n, int array[M][N]);//整合到一维数组
int maxx(int *arr, int len) ;//求最大和
int main()
{
    int arr[M][N] = { { -15, -21, 5, -12, 5 }, { -7, 21, 20, 30, 12 }, { 21, 0, -1, 13, 45 }, { 12, 10, 20, -10, -18 }, {12, 45, -9, 21, 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;
}

 

int MAXarr(int m,int n, int array[M][N])
{
    int i, j, h, max, sum=-100000 ;
    int b[100];
    for (i = 0; i < n; i++)
    {
         for (h = i; h < n; h++) 
         {
              for (j = 0; j<n; j++)
              {
                   b[j] += array[h][j]; 
               }
             max = maxx(b, j);
             if (max>sum)
             sum = max;
         }
    } 
   return sum;
}

最后结果是0
五·psp0级

 

 

转载于:https://www.cnblogs.com/bewaterbts/p/9825986.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++的高效从何而来

2019独角兽企业重金招聘Python工程师标准>>> 前一段时间&#xff0c;实验室的一哥们突然跑过来跟我说&#xff0c;“我自己写了个C的快速排序&#xff0c;排了一个10000000个int的数组&#xff0c;貌似比C库中是qsort算法要快&#xff0c;咋回事&#xff1f;C的STL中…

Git本地仓库管理远程库(GitHub)——clone(下载)、commit(添加到本地仓库)、push(提交到远程仓库)、pull(拉取)操作

目录使用远程仓库的目的将本地仓库同步到git远程仓库1.克隆远程仓库(clone)2.新建一个文件3.将工作区的文件添加到暂存区4.将暂存区的文件添加到本地仓库(commit)5.提交(同步)到远程仓库(push)6.远程库拉取到本地库(pull)7.团队协作开发和跨团队协作开发(开源项目)使用远程仓库…

ps里面怎么插入流程图_学会这3个方法,5分钟能绘制出好看又高级的流程图

工作中&#xff0c;很多时候我们需要绘制流程图&#xff0c;有些小伙伴觉得流程图很难画&#xff0c;费时又耗力。那么今天小编就来给大家分享3种绘制流程图的方法&#xff0c;希望大家学会后&#xff0c;都能快速画出好看的流程图。下面就一起来看看吧~一、Excel绘制1.打开Sma…

oracle学习一二

最近在从事一个行业的测评项目&#xff0c;作为测评师来讲应当是正确的分工&#xff0c;有人负责网络安全测评&#xff0c;有人负责主机测评&#xff0c;有人负责管理测评等等。在测评一个oracle数据库的时候学习到了一点内容&#xff0c;在专业人士看来可能不足为奇&#xff0…

Github Pages 搭建个人网站

目录个人站点访问搭建步骤1.创建个人站点1&#xff09;.新建仓库2&#xff09;.填写仓库资料3&#xff09;.访问成功2.新建index.html文件1.&#xff09;点击 creat new file2.&#xff09;填写文件3&#xff09;.再次访问个人主页项目站点访问搭建步骤1.进入项目主页&#xff…

pwd命令是什么的缩写_手机学编程(2)目录管理命令

终端有两种类型&#xff1a;字符终端(CLI&#xff0c;命令行界面&#xff0c;通过键盘下达命令来要求系统帮我们做事情)和图形终端(GUI&#xff0c;图形用户界面&#xff0c;可通过鼠标下达命令来要求系统帮我们做事情)。Termux是一个字符终端&#xff0c;我们在提示符$后输入命…

Netty实现原理浅析

为什么80%的码农都做不了架构师&#xff1f;>>> 1、总体结构 先放上一张漂亮的Netty总体结构图&#xff0c;下面的内容也主要围绕该图上的一些核心功能做分析&#xff0c;但对如Container Integration及Security Support等高级可选功能&#xff0c;本文不予分析。…

如何上传文件夹到GitHub上(配图详解)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

cfg桩设备型号_什么是CFG桩?带您看下CFG桩施工工艺及流程,检测项目

一、CFG桩简介CFG(Cement Fly—ash Grave)桩是由水泥、粉煤灰、碎石、石屑或砂和水按一定配合比均匀搅拌形成的高粘结强度桩&#xff0c;和桩间土、褥垫层一起形成复合地基&#xff0c;既能较充分的发挥桩体材料的潜力&#xff0c;又可充分利用天然地基承载力&#xff0c;并能因…

django 修改日期

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.chedushi.com/archives/1389 auto_now无论是你添加还是修改对象&#xff0c;时间为你添加或者修改的时间。 auto_now_add为添加时的时间&#xff0c;更新对象时不会有变动。 转载于:https://my.oschi…

如何删除GitHub仓库里的文件夹(配图详解)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

jquery实现截取pc图片_如何优雅的对网页截取长图

苏生不惑第115 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;第一时间看最新文章。最近写文章想截个长图&#xff0c;才发现一直使用的QQ早有这个功能了&#xff0c;这里就整理几个pc上网页长截图的方案。qq滚动截图qq截图应该很多人用过&#xff0c;我平常挂qq也只是…

在Bootstrap开发框架中使用bootstrap-datepicker插件

在基于Boostrap的Web开发中&#xff0c;往往需要录入日期内容&#xff0c;基于Boostrap的插件中&#xff0c;关于日期的录入可以使用bootstrap-datepicker这个非常不错的插件&#xff0c;以替代默认的typedate这种不太友好的日期录入控件&#xff0c;本篇介绍的是我在我的Boost…

STM32 ADC转换实验

摘自&#xff1a;STM32 ADC转换实验 作者&#xff1a;追兮兮 发布时间&#xff1a; 2020-10-29 09:42:24 网址&#xff1a;https://blog.csdn.net/weixin_44234294/article/details/109333307 STM32 ADC 简介 STM32 拥有 1~3 个 ADC&#xff08;STM32F101/102 系列只有 1 个 AD…

ubuntu下搭载LNMP环境,解决 fpm监听失败

为什么80%的码农都做不了架构师&#xff1f;>>> 1.安装mysql sudo apt-get install mysql-server mysql-client 安装过程中要输入root用户的密码。 2.安装nginx sudo apt-get install nginx 2.安装php 1. sudo apt-get install php5-fpm php5-cgi php5-mysql p…

极限与连续知识点总结_高数上知识点期末复习 极限、连续、间断点(一)

点击蓝字关注我们No.1函数分值题型解析1题型解析2tips&#xff1a;为了帮助同学们更好的通过高数期末考试&#xff0c;不挂科&#xff0c;我们最近正在加紧制作《高等数学》上册的期末复习冲刺课程&#xff0c;包含讲解视频和课程讲义。课程即将上线&#xff0c;敬请期待......…

数据结构:八大数据结构分类

摘自&#xff1a;数据结构&#xff1a;八大数据结构分类 作者&#xff1a;鄙人薛某 发布时间&#xff1a;2018-09-05 18:23:28 网址&#xff1a;https://blog.csdn.net/yeyazhishang/article/details/82353846 本文目录&#xff1a; 数据结构分类1、数组2、栈3、队列4、链表5、…

三线调速风扇原理_学修电风扇~风机转速慢、调速失灵故障维修。

一、电风扇转速慢转速慢的故障原因有电源电压过低、起动电容器损坏及电动机本身性能不良或轴承润滑不良。对于微电脑控制式电风扇出现转速慢的故障现象&#xff0c;有可能是双向晶闸管驱动电路性能不良造成的。落地式电风扇、台式电风扇及鸿运扇出现此类故障时的检查方法大致相…

数据结构——链式队列解析(C语言版)

摘自&#xff1a;数据结构学习——链式队列解析&#xff08;C语言版&#xff09; 作者&#xff1a;正弦定理 发布时间&#xff1a;2020-11-26 21:07:08 网址&#xff1a;https://blog.csdn.net/chinesekobe/article/details/110203428 数据结构——链队列解析过程和简单代码实现…

中班机器人教室设计方案_奇思妙想一起玩,机器人来了安格利亚东郡生态幼儿园亲子活动...

奇思妙想一起玩机器人总动员亲子活动课程起源有一天午休起床几个小女生正排队梳辫子&#xff0c;因为需要等待&#xff0c;孩子们比较无聊就在看教室的摆件&#xff0c;突然小朋友们就用机器人的语调开始对话&#xff0c;我听到后感觉很有意思也用机器人的语调和他们对话&#…