结对开发--循环一维数组求最大子数组的和
2015-03-29 22:18
176 查看
结对人员:韩雪东,高扬
一、设计思路
这次编程我们主要是以以前的程序为基础,在此基础上通过改变数组元素的位置,形成新的数组,并通过调用我们之前找最大值的函数,找出每个数组的最大值,然后经过比较求得结果。
二、源代码
三、结果截图
根据数组中元素的个数,生成等数量的数组,分别求出最大字数组的和,在进行比较,求的最大值!
四、心得体会
这次老师又增加了一点难度,但我们感觉并不是很难解决,课上很快就有了思路,不得不说以前编程的可扩展性真的很重要。有了前面的基础,我们考虑的就是如何去利用以前的来完善现在的,这样大大减少了工作量,降低了编程的难度,以后要养成编有可扩展性程序的好习惯。
五、附图
一、设计思路
这次编程我们主要是以以前的程序为基础,在此基础上通过改变数组元素的位置,形成新的数组,并通过调用我们之前找最大值的函数,找出每个数组的最大值,然后经过比较求得结果。
二、源代码
// shuzuhuan0327.cpp : Defines the entry point for the console application. //作者:韩雪东,高扬 //时间:2015/3/27 #include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "time.h" int shuchu(int m[],int szcdx,int xhy)//m[]表示要测试的数组,szchx表示数组长度,xhy表示循环条件 { int t,p; int max,sum; //缓存数组赋值 int c[10]; int v[10]; for(t=szcdx-xhy-1;t<szcdx;t++) { c[t-szcdx+xhy+1]=m[t]; } //循环 for(t=xhy;t>=0;t--) { sum=0; for(p=0;p<=t;p++) { sum=sum+c[p]; } v[t]=sum; } //循环输出最大值 max=v[0]; for(t=0;t<xhy+1;t++) { if(max<=v[t]) { max=v[t]; } printf("%d ",v[t]); } return max; } int main(int argc, char* argv[]) { srand(time(NULL)); int a[10]; int b[10]; for(int j=0;j<10;j++) { a[j]=rand()%51-25; printf(" %d ",a[j]); } int maxx[10]; printf("\n"); for(int i=9;i>=0;i--) { printf("包含数组中第%d个数在内的所有相邻子数组的和:",10-i); maxx[i]=shuchu(a,10,i); printf("\n%d\n\n",maxx[i]); } int maxxx=maxx[0]; for(i=0;i<10;i++) { if(maxxx<=maxx[i]) { maxxx=maxx[i]; } } printf("\n\n该数组的所有子数组的和的最大值:%d\n\n",maxxx); b[0]=maxxx; int p; for(int t=0;t<9;t++) { p=a[0]; for(int q=0;q<9;q++) { a[q]=a[q+1]; } a[9]=p; //int maxx[10]; for(int i=9;i>=0;i--) { printf("包含数组中第%d个数在内的所有相邻子数组的和:",10-i); maxx[i]=shuchu(a,10,i); printf("\n%d\n\n",maxx[i]); } int maxxx=maxx[0]; for(i=0;i<10;i++) { if(maxxx<=maxx[i]) { maxxx=maxx[i]; } } printf("\n\n该数组的所有子数组的和的最大值:%d\n\n",maxxx); b[t+1]=maxxx; } int ma; ma=b[0]; for(i=0;i<10;i++) { if(ma<=b[i]) { ma=b[i]; } } printf("\n\n该数组的所有子数组的和的最大值:%d\n\n",ma); return 0; }
三、结果截图
根据数组中元素的个数,生成等数量的数组,分别求出最大字数组的和,在进行比较,求的最大值!
四、心得体会
这次老师又增加了一点难度,但我们感觉并不是很难解决,课上很快就有了思路,不得不说以前编程的可扩展性真的很重要。有了前面的基础,我们考虑的就是如何去利用以前的来完善现在的,这样大大减少了工作量,降低了编程的难度,以后要养成编有可扩展性程序的好习惯。
五、附图
相关文章推荐
- 结对开发——循环数组的最大值
- 体验结对开发的乐趣(3)--(一维数组求最大子数组的和溢出问题)
- 5、软件工程结对开发之求一维数组中连续最大子数组之和
- 结对开发——环形一维数组求最大子数组和
- 结对开发4_循环数组的最大值
- 1、软件工程结对开发之求一维数组中连续最大子数组之和
- 3、软件工程结对开发之求一维数组中连续最大子数组之和并判断溢出
- 体验结对开发的乐趣(4)--(首尾相连的一维数组求最大子数组和的问题)
- 结对开发——求环形一维数组最大子数组的和
- 结对开发5_循环二维数组最大字数组
- 4、软件工程结对开发之求一维数组中连续最大子数组之和
- 软件工程结对开发之求一维数组中连续最大子数组之和2
- 软件工程结对开发——一维最大子数组求和溢出问题
- 结对开发——返回一个整数数组中最大子数组的和
- 结对开发 二维数组的最大子数组和
- 结对开发Ⅳ——一维数组求和最大的子数组(大数溢出)
- 求一维循环数组最大子数组的和
- 结对开发2__最大子数组
- 2、软件工程结对开发之求二维数组中连续最大子数组之和
- 结对开发--求二维数组的最大子数组