返回乙個隨機數組中的子陣列中的數相加最大的和

2022-06-22 14:39:15 字數 2225 閱讀 4068

設計思想:

隨機生成陣列(含有正數與負數)。

求所有子陣列:按陣列長度進行陣列的劃分(因為要求陣列是連續的)。

計算所有子陣列各自的和,並進行比較(先(按照陣列長度)分開比較,最後再將前面比較出來的結果進行比較)得到最大值陣列。

實現**:

//返¤¦ì回?最á?大䨮子ᨮ數ºy組ᨦ的ì?和¨ª,ê?王ª?昭?博?,ê?3.22,ê?2015.

#include

using namespace std;

#include

//控?制?隨?機¨²數ºy個?數ºy

#define n 6

void main()

for( int i = 0 ; i < n ; i ++)

cout/按ã¡ä照?數ºy組ᨦ內¨²數ºy的ì?個?數ºy分¤?別àe求¨®最á?大䨮和¨ª

//每?個?數ºy組ᨦ中d只?有®d一°?個?數ºy

b[0] = a[0] ;

for( int i = 0 ; i < n ; i ++)

}//每?個?數ºy組ᨦ中d只?有®d兩¢?個?數ºy

b[1] = a[0] + a[1] ;

for( int i = 0 ; i < n - 1 ; i ++)

}//每?個?數ºy組ᨦ中d只?有®d三¨y個?數ºy

b[2] = a[0] + a[1] + a[2] ;

for( int i = 0 ; i < n - 2 ; i ++)

}//每?個?數ºy組ᨦ中d只?有®d四?個?數ºy

b[3] = a[0] + a[1] + a[2] + a[3] ;

for( int i = 0 ; i < n - 3 ; i ++ )

}//每?個?數ºy組ᨦ中d只?有®d五?個?數ºy

b[4] = a[0] + a[1] + a[2] + a[3] + a[4] ;

for( int i = 0 ; i < n - 4 ; i ++)

}b[5] = a[0] + a[1] + a[2] + a[3] + a[4] +a[5] ;

for( int i = 1 ; i < n ; i ++)

}//零¢?個?數ºy

if( b[0] < 0 )

//輸º?出?最á?後¨®結¨¢果?

cout<< " 最á?大䨮和¨ª為a:êo " << b[0]

結果截圖:

心得總結:

我覺得我的問題還是各種函式的運用不夠熟練,不過這次的**非常的彆扭,想用兩個for迴圈,除了這種方法,我實在沒有別的好思路了,所以。。。。

**記錄:

#includesrand((unsigned int)time(0));int a = rand()%100 ;//即求0到100之間的隨機數

時間記錄日誌

學生:王昭博

日期:3/13/2015

教師:王建民

課程:psp

日期開始時間

結束時間

淨時活動

備註3月13日

10點10分

12點100分鐘

講師授課

3月13日

13點13點20分

20分鐘

編寫程式

3月18日

16點17點30分

90分鐘

編寫程式

3月18日

21點30分

22點30分鐘

製作時間記錄日誌模板

周活動總結表

姓名:王昭博

日期:3.22,2015

日期\任務

聽課程式設計

日統計周五

100分鐘

100週日

120分鐘

120階段時間和效率週數3

3總計220平均

30最大

120最小

100以前各週的:23總計

240220

平均40

30最大

90120

最小20

100缺陷記錄日誌

學生:王昭博

日期:3.22,2015

教員:王建民

程式號:3

日期編號

型別引入階段

排除階段

修復時間

修復缺陷

3.22,20151函式

程式設計編譯

10分鐘

描述:隨機數缺少乙個srand函式

關於生成乙個隨機數組

生成隨機數的最基本 是 random rand new random int i rand.next 0,100 next函式的引數可以為空,也可以是乙個值的範圍。像這種方法通常生成乙個隨機數不會有問題,但是如果要生成乙個隨機數組的話就不見得好用了,比如 listlstrnd new list ra...

關於生成乙個隨機數組

生成隨機數的最基本 是 random rand new random int i rand.next 0,100 next函式的引數可以為空,也可以是乙個值的範圍。像這種方法通常生成乙個隨機數不會有問題,但是如果要生成乙個隨機數組的話就不見得好用了,比如 listlstrnd new list ra...

獲取乙個陣列中的隨機值

今天寫了乙個獲取陣列隨機值的方法給同事,結果妹子同事一直不能理解為什麼是math.floor,而不用math.round 方法 array.prototype.getrandomitem function 使用 var arr 1,2,3,4,5,6,a b c d arr.getrandomite...