1.要求程式必須能處理1000個元素;
2.每個元素是int32型別的,出現子陣列之和大於整型表示的最大範圍會出現什麼情況;
3.輸入乙個整形陣列,陣列裡面既有正數也有負數;
4.陣列中連續的乙個或多個整數組成乙個字陣列,每個子陣列都有乙個和;
5.求所有子陣列的和的最大值,要求時間複雜度為o(n)。
設計思想:
1.隨即生成陣列(含有正數和負數)。
2:求所有子陣列,按陣列長度進行陣列的劃分。
計算:從第乙個數開始做加法,若和大於第二個數,則繼續加下乙個數(若加上第三個數的和大於第三個數則重複進行此操作;小於第三個數,則捨掉前面的所有數,並繼續重複進行此操作);若小於第二個數,則捨掉第乙個數。
出現的問題:
1.在生成隨機數的時候,正負數沒有一起生成。
2.當出現子陣列之和大於整型表示的最大範圍會出現溢位情況,執行結果都為零
3.軟體沒有妥當儲存導致中途**糗事,稍微影響了完成進度。
程式源**:
#include
#include
#include
#define n 1000
using namespace std;
void randin(int intnum,int a) //隨機生成陣列
}執行結果:
當出現子陣列之和大於整型表示的最大範圍時會出現溢位現象,執行結果都為零:
心得: 團結就是力量,相比於個人專案,團體協作的優勢十分明顯,但程式設計能力方面還是太弱這是硬傷,需要借助網路資源幫助,經過此次程式設計使得我倆的部分計算機語言運用的更加熟練,理解更加透徹,以後會多加練習努力學好這門課程,學以致用