体验结对开发的乐趣(4)--(首尾相连的一维数组求最大子数组和的问题)
2015-03-30 12:59
211 查看
结对人员:新1201-2班高扬、信1201-1班韩雪东
一、题目要求与设计思路
1.题目要求:这次的数组要求首尾相连形成一个环,
2.设计思路:这次编程我们主要是以以前的程序为基础,在此基础上通过改变数组元素的位置,形成新的数组,并通过调用我们之前找最大值的函数,找出每个数组的最大值,然后经过比较求得结果。
二、源代码
三、运行结果截图
四、心得体会
主要处理的就是数组如何首尾相连的问题,其他的都是和以前的样。
五、有图有真相
一、题目要求与设计思路
1.题目要求:这次的数组要求首尾相连形成一个环,
2.设计思路:这次编程我们主要是以以前的程序为基础,在此基础上通过改变数组元素的位置,形成新的数组,并通过调用我们之前找最大值的函数,找出每个数组的最大值,然后经过比较求得结果。
二、源代码
// 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)--(首尾相连的二维数组求最大子数组和的问题)
- 体验结对开发的乐趣(1)--(一维数组求和最大的子数组)
- 软件工程结对开发——一维最大子数组求和溢出问题
- 体验结对开发的乐趣(2)--(二位数组求和最大的子数组)
- 结对开发四--首尾相连得数组的最大子数组的和
- 结对开发——求环形一维数组最大子数组的和
- 二维数组最大子数组的和 结对开发 溢出问题
- 结对开发——环形一维数组求最大子数组和
- 软件工程结对开发之求一维数组中连续最大子数组之和2
- 结对开发之求最大子数组的溢出问题
- 1、软件工程结对开发之求一维数组中连续最大子数组之和
- 3、软件工程结对开发之求一维数组中连续最大子数组之和并判断溢出
- 数组中球子数组和最大的问题(结对开发)
- 4、软件工程结对开发之求一维数组中连续最大子数组之和
- 结对开发--循环一维数组求最大子数组的和
- 5、软件工程结对开发之求一维数组中连续最大子数组之和
- 结对开发-- 一维数组求和最大的子数组的大数溢出问题
- 结对开发之求最大数组溢出问题
- 体验结对开发的乐趣(6)--(电梯调度问题)