软件工程课堂作业(十)——结对开发(五)

一、题目及要求:

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

要求(新加):①输入一个二维整形数组,数组里有正数也有负数;②二维数组首尾相接,像一条首尾相接的带子一样。

结对人员:焦燕   胡亚宝

二、设计思路:

这个题目其实就是二维数组和环型数组的结合,要解决这个问题,将之前的两个问题融合一下即可。

首先解决求出二维数组中最大子数组的问题,然后沿用一维数组的方法,将第一列放到最后一列,在求出新的二维数组的最大子数组,依次求出各个二维数组的最大子数组。

三、部分源代码:

 1 for (m=0;m<5;m++)
 2 {
 3     for(cw1=0;cw1<3;cw1++)  //将第一列存起来
 4     {
 5         flag[cw1]=a[cw1][0];
 6     }
 7     for(lie=0;lie<4;lie++)  //从第二列开始每列的值等于它后面的元素
 8     {
 9         for(hang=0;hang<3;hang++)
10         {
11             a[hang][lie]=a[hang][lie+1];
12         }
13     }
14     for(cw2=0;cw2<3;cw2++)  //最后一列的值为刚才存的第一列
15     {
16         a[cw2][4]=flag[cw2];
17     }
18 }

四、心得体会:

时间: 2024-10-14 18:48:39

软件工程课堂作业(十)——结对开发(五)的相关文章

软件工程课堂作业04

软件工程课堂作业04 源代码: 1 package jian; 2 import java.io.*; 3 import java.util.Scanner; 4 public class Point3D{ 5 public static int Lenght(int list[],int lenght) 6 { 7 int i,max; 8 max=list[0]; 9 for(i=1;i<=(lenght-1);i++) 10 { 11 if(list[i]>max) 12 { 13 ma

软件工程课堂作业(九)——结对开发(四)

一.题目及要求: 题目:返回一个整数数组中最大子数组的和 要求(新加):①如果数组A[0]...A[j-1]首尾相邻,允许A[i-1]...A[n-1],A[0]...A[j-1]之和最大:②同时返回最大子数组的位置. 结对人员:焦燕   胡亚宝 二.设计思路: 我们要解决两个问题:求出环数组中最大的子数组:并且定位出该子数组的位置,把它们的名称输出来.要解决这两个问题,我们从以下两个方面入手: ①求出最大子数组:将数组数值按顺序排好称为“一趟”,每求出一趟的最大子数组后,将第一个数值放到最后一

软件工程课堂作业(四)——结对开发

一.题目及要求: 1.题目:返回一个整数数组中最大子数组的和. 2.要求: ①输入一个整形数组,数组里有正数也有负数:数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和:求所有子数组的和的最大值:要求时间复杂度为O(n). ②两人结对完成编程任务:一人主要负责程序分析,代码编程,一人负责代码复审和代码测试计划. 3.结对人员:胡亚宝 焦燕 二.设计思路: ①第一个方法,定义一个数组,将所有的子数组的和都求出来放到该数组中,再求最大值,输出.但是在编写过程中,我们发现如果用循环方式存放

3月31号周二课堂练习:结对开发----求二维数组组成的矩阵中子矩阵的最大值二

一.题目要求 1.1输入一个二维整形数组,数组里有正数也有负数. 1.2二维数组首尾相接,象个一条首尾相接带子一样. 1.3数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 1.4求所有子数组的和的最大值.要求时间复杂度为O(n). 二.结对要求 2.1两人结对完成编程任务. 2.2一人主要负责程序分析,代码编程. 2.3一人负责代码复审和代码测试计划. 2.4发表一篇博客文章讲述两人合作中的过程.体会以及如何解决冲突(附结对开发的工作照). 三.设计过程 上次已经算过二维数组中

课堂练习之结对开发项目思想总结

一.思想过程 老师课上让我们结对合作开发一个小程序,起初思想比较混乱,但在与雪东交流后一个想法渐渐浮现了出来,但在循环控制上仍然存在着缺陷.今天是满课的,所以我本打算在晚上自习的时候尝试去理清自己的思路,再与雪东进行交流.谁知在我刚到自习室,他便拿着笔记本来找我探讨,而且他已经写出了自己的想法,不过可能比较笨拙,在数组数量变化时需要一次一次的去输入程序,所以我们的探讨从如何实现老师的问题便到了如何更好的去实现老师的问题,增加程序的可扩展性. 在此次合作中我们真的就像驾驶员和领航员一样,一台电脑,

软件工程课堂作业(八)——结对开发(三)

一.题目及要求: 题目:返回一个整数数组中最大子数组的和. 要求(新加):①要求程序必须能处理1000个元素:②每个元素都是int32类型的. 结对人员:焦燕   胡亚宝 二.设计思路: 三.源代码: 四.测试及运行结果: 五.心得体会:

软件工程课堂作业(十五)——揪出“水王”续

一.题目: 随着论坛的发展,管理员发现“水王”没有了,但是统计结果表明,有三个发帖很多的ID.据统计他们的发帖数量超过了总和的1/4.请设计算法从列表中快速找到他们. 二.设计思路: 扩展题目和原题基本相似,方法是一样的,都可用消除思想.可以三个比较,若不相同,则删除,若相同,则计数器加一. 三.源代码: 1 //找小“水王”——胡亚宝——2015/04/26 2 3 #include "stdafx.h" 4 #include"iostream" 5 6 7 8

软件工程课堂作业(十四)——揪出“水王”

一.题目: 现有一个灌水论坛,信息学院的学生都喜欢在上面交流灌水.传说在论坛上有一个“水王”,它不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该“水王”发帖数目已超过了帖子数目的一半. 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者ID在其中,请设计算法快速找到这个传说中的“水王”. 二.设计思路: 1.首先要快速找到,要求时间复杂度要低.如果进行ID数目多少排序的话,时间复杂度至少为O(n*lgn),所以不能排序: 2.要想遍历一遍就能找到最多出现的ID,可以将数目少的ID删

软件工程课堂作业(七)续——电梯调度之整体设计

一.题目要求: 1.可以获得电梯和乘客所在楼层: 2.可以根据乘客的需求到达想到达的楼层. 二.设计思路: 1.通过用户输入可以获取乘客和电梯所在楼层: 2.通过循环,输出电梯向上/向下走的过程. 三.源代码: 1 // 电梯调度——胡亚宝 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 using namespace std; 7 8 9 int _tmain() 10 { 11 int a,b,c,m,i; 12