設計思想:
隨機生成陣列(含有正數與負數)。
求所有子陣列:按陣列長度進行陣列的劃分(因為要求陣列是連續的)。
計算所有子陣列各自的和,並進行比較(先(按照陣列長度)分開比較,最後再將前面比較出來的結果進行比較)得到最大值陣列。
實現**:
//返¤¦ì回?最á?大䨮子ᨮ數º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...