《团队开发项目之三二维数组的最大子数组之和》

                                                                                  《团队开发项目之三二维数组的最大子数组之和》

设计思想:按列或按行的次序依次进行计算每个以列或行的次序为基准的每种情况下的每个子矩阵的和,然后再依次进行比较每个子矩阵的和,取出最大的一个即是最大字数组之和;

源代码:

 
  
//二维数组的最大子数组之和
//李敏,Apr 8th
#include<iostream>
#include<time.h>
using namespace std;

void main()
{
    int m,n,a[100][100],k,t,c,i,j,z;
    int maxsum,sum[100],max=0;
    cout<<"请输入矩阵的行数和列数:"<<endl;
    cin>>m>>n;
    srand((unsigned)time(NULL));
    for(i=0;i<m;i++)
     {   
         for(j=0;j<n;j++)
         {
             a[i][j] = rand() %140 - 70;
             cout<<a[i][j]<< " ";
         }
         cout<<endl;
     }
        for(k=0;k<m;k++)
        {
            //初始化一个m*n型的二维数组,以作为储备每一个细化的子矩阵之和
            for(c=0;c<n;c++)
            {sum[c]=0;}
            //求此矩阵划分而得的每一个子矩阵之和
            for(j=k;j<n;j++)
            {
                for(i=0;i<m;i++)
                {
                    sum[i]+=a[i][j];
                }
                //依次比较所得到的每个子矩阵之和取最大子矩阵之和
                   for(t=0;t<m;t++)
                   {
                    maxsum=0;
                    for(z=t;z<n;z++)
                    {
                        maxsum+=sum[z];
                        if(maxsum>max)
                            max=maxsum;
                    }
                   }
            }
        }
       cout<<"最大子矩阵之和为:"<<max;
 
  
}
 
  

 

 

 

实验截图:

合作过程及体会:这是我们合作的又一个程序了,我觉得我们已经慢慢的融入到这个过程中了,其中我们可以一起集思广益,可以互相取长补短,这比一个人写程序的速度快多了,这可以提高写程序的效率;当然冲突也是难免的,在我们遇到冲突的时候,我们都会冷静下来周密的考虑自己以及对方的思维或者先转移到别的事上,然后等觉得可以进行工作了,然后再以一致的目标继续进行我们的开发。

团队开发成员:李敏 刘子晗

工作照:

转载于:https://www.cnblogs.com/Twinklelittlestar/p/4404124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值