标签:
1 #include<iostream> 2 using namespace std; 3 4 void main() 5 { 6 int a[100] = { 0 }; 7 int b[10][100] = { 0 }; 8 int length, i, j, all = 0; 9 int begin = 0, end = 0; //数组的起始和终止下标 10 int max, temp; 11 cout << "输入随机整数:" << endl; 12 13 for (length = 0;;) 14 { 15 cin >> a[length]; 16 length++; 17 if (getchar() == ‘\n‘) //回车结束 18 { 19 break; 20 } 21 } 22 //求子数组 23 for (i = 0; i<length; i++) 24 { 25 temp = i; 26 all = 0; 27 j = 0; 28 while (j <= length - 1) 29 { 30 all += a[temp]; 31 b[i][j] = all; 32 temp++; 33 if (temp>length - 1) 34 { 35 temp = 0; 36 } 37 j++; 38 } 39 } 40 max = b[0][0]; 41 for (i = 0; i<length; i++)//将每个数对应的最大子数组进行判断,最后得到整个整数组的最大子数组 42 { 43 for (j = 0; j<length; j++) 44 { 45 if (b[i][j]>max) 46 { 47 max = b[i][j]; 48 begin = i; 49 end = j; 50 } 51 } 52 } 53 cout << "最大子数组的值为:" << max << endl; 54 cout << "最大子数组中元素的下标位置:" << endl; 55 i = 0; 56 while (i <= end) //输出下标值 57 { 58 cout << begin << " "; 59 begin++; 60 if (begin >= length) 61 { 62 begin = 0; 63 } 64 i++; 65 } 66 cout << endl; 67 }
运行结果截图如下:
经检验,数组中最大子数组应为【3】【4】【5】【6】【0】求和结果为:11
结果正确!
经检验,数组中最大子数组应为【0】【1】【2】【3】【4】求和结果为:11
结果正确!
本次结对开发的项目开发总结如下:
<
项目计划 总 结: | |||||
日期\任务 | 听课 | 编写程序 | 查阅资料 | 日总计 | |
星期四 | 2 | 0.5 | 0 | 2.5 | |
星期六 | 2 | 2.5 |
4.5 | ||
星期日 | 1 |
1.5 | 2.5 | ||
周总计 | 2 | 3.5 | 4 | 9.5 |
<
时间记录日志: | ||||||
日期 | 开始时间 | 结束时间 | 中断时间 | 静时间 | 活动 | 备注 |
3月24日 | 14:00 | 15:50 | 10min | 100min | 听课+编程 | 软件工程 |
3月26日 | 8:20 | 11:50 | 60min | 2.5h | 编写程序+查阅资料 | 查阅相关解题思路/编写程序 |
15:00 | 17:30 | 30min | 2h | 编程+查资料 | 调试程序寻找错误地方 | |
3月27日 | 8:00 | 11:00 | 30min | 2.5h | 总结与优化代码 | 反思与优化 |
<
缺陷记录日志: | ||||
日期 | 编号 | 引入阶段 | 排除阶段 | 修复时间&问题描述 |
3月24日 | 1 | 编码 | 编译 | 10min,数组问题 |
3月26日 | 2 | 编码 | 编译 |
50min;程序实现思路有问题 |
3月27日 | 3 | 编码 | 编译 |
50min; 代码实现过于繁琐-->优化代码 |
标签:
原文地址:http://www.cnblogs.com/X-knight/p/5326349.html