课堂练习3

1.设计思想

(在网上搜索的程序代码和思路,我们对其进行整理得到现在的思路)先宏定义m和n,分别为二维数组的行数和列数,在主函数中定义一个整型的二维数组,二维数组的元素由随机生成函数rand()生成,对于生成的二维数组,我们先计算出第一行中有关第一个元素的所有子数组,然后计算出第二个第三个直到第n个,第二行第三行直到第m行同第一行,把上面计算出来的子数组存放在另一个二维数组里,再求这个二维数组的子数组的最大值(根据列数来求),定义一个变量max(二维数组中最大子数组的和),把max的值赋为0,把从另一个二维数组得到的最大值和max比较,以此类推,最后即可得到最大子数组的和。

2.源程序

#include <iostream>
using namespace std;

#define m 3
#define n 2
void main()
{
    int a[m][n];
    int max;
    int s;
    int count;
    int b[m][m];

    cout<<"该二维数组为:"<<endl;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            a[i][j]=rand()%100-50;
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    for(int i=0;i<m;i++)
    {
        count=0;
        for(int j=0;j<n;j++)
        {
            s=0;
            for(int l=0;l<n-j;l++)
            {
                s=s+a[i][j+l];
                b[i][count+l]=s;
            }
            count=count+n-j;
        }
    }
    //求最大数
    max=b[0][0];
    for(int j=0;j<m;j++)
    {
        for(int i=0;i<m;i++)
        {
            s=0;
            for(int r=0;r<m-i;r++)
            {
                s=s+b[r+i][j];
                if(max<s)
                    max=s;
            }
        }
    }
    cout<<"最大子矩阵为:"<<max<<endl;
}

3.结果截图

4.总结

还是找不到很好的思路,找不到一种方法解决问题,思路很重要,要多思考,形成自己的解决问题的方案,两个人的合作有利于更好地理解程序和思路,真的很希望以后可以用自己的方式,自己的思路去解决问题。

5.工作照

孟祥娟:主要负责代码复审和代码测试计划;

陈杰:主要负责程序分析,代码编程。

时间: 2025-01-02 18:53:34

课堂练习3的相关文章

网上云课堂

1.6座网:http://www.6sit.com/ 2.网易云课堂:http://study.163.com/ 3.慕课网:http://www.imooc.com/ 4.极客学院:http://www.jikexueyuan.com/

Java类与对象——几个课堂例子的总结及作业

作业:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 源代码: 1 import java.util.Scanner; 2 3 class sss123 { 4 //将用来计次的变量times给初始值为0 5 public static int times=0; 6 sss123() { 7 //构造函数,每创建一个实例times就增加1 8 times=times+1; 9 } 10 } 11 12 publi

《翻转课堂的可汗学院:互联时代的教育革命》:一个外行利用互联网对教育业的颠覆 三星推荐

作者本来是基金公司的金融分析师,从远程辅导自己的一些晚辈开始,最终做了专职的互联网教育工作者.本书是作者对这个过程的回忆和总结. 作者在早期的远程辅导自己的晚辈开始,发现了教育业的现存的一些问题和改进的方法.作者认为教育业最大的问题是无视人与人之间接受新知识的速度是可以有非常大的差异的. 作者制作了许多10分钟长的教学视频上传到youtube,效果不错.许多教师干脆让学生晚上回家看可汗的教学视频,白天到教室想老师提问,效果非常好.翻转课堂指的就是这种把常规的学习和提问的时间地点颠倒过来的做法.

用jQuery制作仿网易云课堂导航菜单效果

最近做项目,用到类似的效果. 效果图如下: 直接上代码: HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="./css/index.css"> <script s

腾讯课堂的物理实验(2017计蒜客初赛第三场)

A题 在腾讯课堂的物理课上,进行了一个有趣的物理实验. 在一个长度为 LL 米的光滑轨道上,小车 A 在 00 时刻以 1\mathrm{m/s}1m/s 的速度从左端出发向右运动,小车 B 在 tt 时刻以 1\mathrm{m/s}1m/s 的速度从右端出发向左运动,两个小车的质量相等.假设所有碰撞都是弹性碰撞,也就是当两个小车相向碰撞时,他们各自会以原来的速度向相反的方向运动:小车和轨道两端发生碰撞时,小车会以原速度向反方向运动. 试求出 TT 时刻的时候,两个小车相距多远. 输入格式 输

课堂作业01

我们都了解过或在课堂上听说过软件体系架构师这一职业,对我们来说软件体系架构师是一个需要很多经验和技术的职业,也会是很多人奋斗的目标,那么什么是软件体系架构师以及软件体系架构师的职责是什么呢? 软件体系架构师是软件行业中一种新兴职业,是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划.主导系统全局分析设计和实施.负责软件构架和关键技术决策的人员,是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节

python小游戏之课堂提问器

今天,接着前边的python小游戏,又写了个课堂提问器小程序.供大家一乐! #coding:utf-8 from random import randint print '\033[1;32;40m', print '你好,请选择需要几位作答者?\n' print '请输入作答者的人数:', t=1 i=input() data=[] while t<=i:     r=randint(0,32)    # print m[r],     data.append(m[r])     t+=1 p

软件需求分析课堂讨论01

课堂讨论 分组:每4人一组 内容: 某大学为进一步推进无纸化考试,欲开发一考试系统.系统管理员能够创建专业方向.课程编号.任课教师等相关考试基础信息.教师和考生进行考试相关工作.系统与考试有关的主要功能如下: (1)考试设置:教师制定试题(题目和答案),制定考试说明.考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储. (2)显示并接收解答.根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的提醒时间进行提醒,并接收学生的解答. (3)处理解答.根据答案

软件需求与分析课堂讨论一

课堂讨论 分组:每4人一组 内容: 某大学为进一步推进无纸化考试,欲开发一考试系统.系统管理员能够创建专业方向.课程编号.任课教师等相关考试基础信息.教师和考生进行考试相关工作.系统与考试有关的主要功能如下: (1)考试设置:教师制定试题(题目和答案),制定考试说明.考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储. (2)显示并接收解答.根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的提醒时间进行提醒,并接收学生的解答. (3)处理解答.根据答案

[原创] linux课堂-学习笔记-目录及概况

本学习笔记基于:网易云课堂-linux课堂 课时1Centos 6.4安装讲解46:14 课时2Centos 6.4桌面环境介绍与网络连接04:30 课时3 Linux目录结构介绍及内核与shell分析37:19 课时4 Linux获得帮助_网络配置_合理关机64:23 课时5 Linux文件权限详解45:47 课时6Linux文件权限详解45:47 课时7目录显示个性操作与全局环境变量的使用与注意···43:25 课时8复制与远程复制_文件查找实例_文件内容查看的··57:49 课时9Linu