结对开发4----最大子数组(大数溢出)
結(jié)對成員:范德一,趙永恒
一.題目:
返回一個整數(shù)數(shù)組中最大子數(shù)組的和。
二.要求:
要求程序必須能處理1000?個元素;
每個元素是int32?類型的;
輸入一個整形數(shù)組,數(shù)組里有正數(shù)也有負數(shù)。
數(shù)組中連續(xù)的一個或多個整數(shù)組成一個子數(shù)組,每個子數(shù)組都有一個和。
求所有子數(shù)組的和的最大值。
三.設(shè)計思路
???? 在上一次的實驗中,我們設(shè)置的數(shù)組的個數(shù)能夠很好的進行擴展,所以對于第一個要求處理1000個元素比較容易實現(xiàn);對于第二個要求,我們主要是想確定最大的數(shù)到底有多大,即什么時候會發(fā)生溢出的問題,當(dāng)問題出現(xiàn)時程序怎么處理,通過查閱資料,我們最后確定了程序能夠處理的最大數(shù)的取值,然后通過輸出語句提示數(shù)組溢出。
四.源代碼
1 #include<iostream.h> 2 3 #include<time.h> 4 5 #include<stdlib.h> 6 7 8 9 int main() 10 11 { 12 13 14 15 srand((unsigned)time(NULL)); 16 17 18 19 int a[1000]; 20 21 int m; //m是每組個數(shù) 22 23 int *sum=new int[1000]; 24 25 cout<<"*********************************"<<endl; 26 27 for(int i=0;i<1000;i++) 28 29 { 30 31 int b; 32 33 b=rand()%2; 34 35 switch (b) 36 37 { 38 39 case 0: 40 41 a[i]=rand()*350; 42 43 break; 44 45 case 1: 46 47 a[i]=-rand()*100; 48 49 break; 50 51 } 52 53 cout<<a[i]<<" "; 54 55 if((i%10)==9) 56 57 cout<<endl; //每行10個輸出,換行 58 59 60 61 } 62 63 64 65 cout<<"*********************************"<<endl; 66 67 int he=0; 68 69 for(m=1;m<1001;m++) 70 71 { 72 73 int temp=0; 74 75 for(int n=0;n<m;n++) 76 77 { 78 79 temp=temp+a[n]; 80 81 } 82 83 for(int k=0;k<=(1000-m);k++) 84 85 { 86 87 sum[k]=0; 88 89 for(int j=k;j<(k+m);j++) //a[k]是每組第一個數(shù) 90 91 { 92 93 sum[k]=sum[k]+a[j]; 94 95 } 96 97 if(sum[k]>temp) 98 99 { 100 101 temp=sum[k]; 102 103 } 104 105 } 106 107 if(temp>he) 108 109 { 110 111 he=temp; 112 113 } 114 115 } 116 117 if(he>2100000000) 118 119 { 120 121 cout<<"數(shù)組溢出!"<<endl; 122 123 } 124 125 else 126 127 { 128 129 cout<<"最大子數(shù)組的和為: "<<he<<endl; 130 131 } 132 133 cout<<"*********************************"<<endl; 134 135 return 0; 136 137 }?
五.運行截圖
六、感想
??? 這次實驗在隨機出現(xiàn)數(shù)的那里我們停留了很長時間,主要是不知道rand函數(shù)也是有取值范圍的。在接組的開發(fā)中,我們都有一點自己的想法。最后總結(jié)在了一起,尤其是在編程的過程中,我們誰都想往上寫一點,一個程序總是在加入自己的設(shè)計思路和代碼的風(fēng)格。我覺得一個團隊還是應(yīng)該把風(fēng)格和規(guī)范盡量的一致,才能讓團隊更好的工作起來。
附:
轉(zhuǎn)載于:https://www.cnblogs.com/fan123/p/4376537.html
總結(jié)
以上是生活随笔為你收集整理的结对开发4----最大子数组(大数溢出)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery插件实战之fullcalen
- 下一篇: java中HashMap详解