返回一个二维整数组中最大子数组的和
题目:返回一个二维整数组中最大子数组的和
实验思路
根据老师上课给出的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 }
结果截图
二人结对:王驰 张宾
posted on 2018-10-21 13:11 🌚🌚🌚🌝🌝 阅读(133) 评论(0) 编辑 收藏 举报