題目:
返回乙個環形陣列中的最大子陣列。
要求:
兩人結對完成程式設計任務。
一人主要負責程式分析,**程式設計。
一人負責**複審和**測試計畫。
思想:
上一次的題目是返回乙個整數陣列中最大子陣列的和;這次在上一次的基礎上,我們原本想採用兩個相同陣列首位相連來實現環形的功能,採用原來的方法未能實現,後來採用課堂上張世通同學講的方法,每次把陣列首個元素移到末尾,重新比較,然後求最大
程式源**:
1 #include2 #include3執行截圖using
namespace
std;
4void arr(int ,int);5
void max(int,int ,int ,int ,int,int);6
intmain()
723 max(0
,result,arr1,sum,c2,c1);
24arr(arr1,arr2);
25 max(1
,result,arr2,sum,c2,c1);
26arr(arr2,arr3);
27 max(2
,result,arr3,sum,c2,c1);
28arr(arr3,arr4);
29 max(3
,result,arr4,sum,c2,c1);
30arr(arr4,arr5);
31 max(4
,result,arr5,sum,c2,c1);
32for ( int i=0; i<5; i++)
3738
}39 cout<
最大陣列之和:
"<
40return0;
41}42void arr(int arr1,int
arr2)
4349 arr2[4]=arr1[0
];50}51
void max(int i,int result,int arr1,int sum,int c2,int
c1)52
58else
59if( result[i]
64 }
結對程式設計總結:
程式採用函式呼叫的方式,易於擴充套件。通過這次程式設計實踐,我覺得交流可以
擴充思路,互相指點,很有幫助。
環形陣列求最大子陣列和
陣列是環形的,即首尾相接 下標n 1的元素後面的元素下標為0 求最大子陣列和 環形陣列求最大子陣列和 解法一 把該環形陣列從某一點展開,連寫兩遍 複製乙份接到自己後面 然後當成無環的陣列求最大子陣列和,但這裡要限制乙個條件,就是最大子陣列的長度不可以超過n,所以求的時候要注意判斷。例如 上圖中展開寫...
求整數陣列 環形陣列中最大子陣列的和
一 整數陣列 1 題目要求 a 輸入乙個整數陣列,陣列裡有正數也有負數。b 陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。c 求所有子陣列的和的最大值。2 思路構想 求陣列中的乙個元素 a 和上乙個元素 b 的和 c 將 a 和 c 進行比較,若 c a 則用 c 代替 a 的值,...
環形陣列求子陣列最大和
由於上一次輸入陣列出錯,本次更正。設計思想 1.輸入字串陣列 2.將字串陣列賦初值刪去空格 換行以及初值,將其他字元轉化成整數陣列儲存起來。3.環形整數陣列在每乙個點出都可能斷開,所以設定兩個迴圈,借用第一次計算乙個一維陣列的子陣列最大和 4.從每乙個點都開始一次計算出每乙個一維陣列的子陣列最大和,...