zoukankan      html  css  js  c++  java
  • 返回一个二维整数组中最大子数组的和

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

    实验思路

    根据老师上课给出的3*6的数据 我们决定设计一个3*6行的二维数组进行计算,依次进行比较 将最大子数组的和返回

    代码

     1 #include <iostream.h>
     2 int main()
     3 {
     4     int a[3][6];//定义一个3*6的二维数组
     5     int max;
     6     int s;//求和
     7     int count;
     8     int b[3][7];
     9     cout<<"请输入二维数组(3*6)中的元素:"<<endl;
    10     for(int i=0;i<3;i++)
    11     {
    12         for(int j=0;j<6;j++)
    13         {
    14             cin>>a[i][j];
    15         }
    16     }
    17     for(i=0;i<3;i++)
    18     {
    19         count=0;
    20         for(int j=0;j<6;j++)
    21         {
    22             s=0;
    23             for(int l=0;l<6-j;l++)
    24             {
    25                 s=s+a[i][j+l];
    26                 b[i][count+l]=s;
    27             }
    28             count=count+6-j;
    29         }
    30     }
    31     //求最大数
    32     max=b[0][0];
    33     for(int j=0;j<7;j++)
    34     {
    35         for(i=0;i<3;i++)
    36         {
    37             s=0;
    38             for(int r=0;r<3-i;r++)
    39             {
    40                 s=s+b[r+i][j];
    41                 if(max<s)
    42                 {
    43                     max=s;
    44                 }
    45             }
    46         }
    47     }
    48     cout<<"最大子数组为:"<<max<<endl;
    49     cout<<endl;
    50     return 0;
    51 }

    结果截图

    二人结对:王驰 张宾

  • 相关阅读:
    1295: [SCOI2009]最长距离
    [vijos p1028] 魔族密码
    HJ浇花
    1060: [ZJOI2007]时态同步
    1816: [Cqoi2010]扑克牌
    1800: [Ahoi2009]fly 飞行棋
    4300: 绝世好题
    1237: [SCOI2008]配对
    1801: [Ahoi2009]chess 中国象棋
    1189: [HNOI2007]紧急疏散evacuate
  • 原文地址:https://www.cnblogs.com/cc173640639/p/9824686.html
Copyright © 2011-2022 走看看