输出二维环形数组中最大子数组和
组员 石鹤李海超
一、题目
输出二维环形数组中最大子数组和
二、设计思想
把解决一维环形数组,和普通二维数组的方法结合起来街是解决二维环形数组的方法。
三、源代码
#include<iostream.h> #include<time.h> #include<stdlib.h> int qiumax(int arry[],int max) { int i; long sum; for(i=0;i<5;i++) { for(i=0;i<5;i++) { arry[i+5]=arry[i]; } } for(int j=0;j<5;j++) { sum=0; for(int k=j;k<5+j;k++) { sum=sum+arry[k]; if(sum>max) { max=sum; } } } return max; } int main() { int qiumax(int arry[10],int max); int i,j,k; int arry[5][10]={{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1},{1,1,1,-1,-1}}; int arry1[10]={0,0,0,0,0,0,0,0,0,0}; int max=arry[0][0]; for(i=0;i<5;i++) { for(j=0;j<5;j++) { arry[i][j+5]=arry[i][j]; } } for(i=0;i<5;i++) { for(j=i;j<5;j++) { for( k=0;k<5;k++) { arry1[k]+=arry[j][k]; } max=qiumax(arry1,max); } for(k=0;k<10;k++) { arry1[k]=0; } } cout<<"MAX IS"<<" "<<max<<endl; return 0; }
四、结果截图
五、实验心得
本次实验并不很难,只需把前两次的想法结合起来,修改下前两次的程序即可。
但在调用函数传参是我俩遇到了麻烦,改正后对传参有了更深的认识。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。