求二維陣列中最大子陣列的和

2021-07-15 20:42:26 字數 766 閱讀 3856

題目:給出乙個 m*n 的二維矩陣(元素可為正可為負),求該二維矩陣的乙個子矩陣,且此子矩陣中所有元素的和最大,並輸出該矩陣的和。

分析:因為輸出的是矩陣,把每列資料中第i行到第j行進行相加,這樣得到乙個列矩陣,a[1......n],這樣就轉化成乙個一維整數陣列中最大子陣列的和

通過求得迴圈不同第i行到第j行之間的值之和,最後找到最大值。

#include#include#includeusing namespace std;

#define m 4

#define n 4

#include int maxsubarray(int *arr, int len) //最大子串行和

return sum;

}int maxsubmatrix(int n, int m, int array[m][n])

} return sum;

}int main()

, , , };

cout << "隨機二維陣列為:" << endl;

//srand(time(0));

//for (int i = 0; i < m; i++)

// // cout << endl;

//}cout << maxsubmatrix(m, n, arr) << endl;

system("pause");

return 0;

}

二維陣列求最大子陣列

程式要使用的陣列放在乙個叫 input.txt 的檔案中,檔案格式是 陣列的行數,陣列的列數,每一行的元素,用逗號分開 每乙個數字都是有符號32位整數,當然,行數和列數都是正整數。演算法思想 對於一維的陣列,我們可以很容易用動態規劃的方法求得最大子陣列 所以我們將i 0.n j i.n 列舉所有行的...

二維陣列最大子陣列和

陣列輸出 int sum a 0 0 b,c n int imin 0,imax 0,jmin 0,jmax 0 for i 0 i c i a 0 i for i 1 i 4 i else b c j if sum b if i1 else for i imin i imax i cout cou...

求二維陣列的最大子集和

小組成員 李夏蕾 楊世超 這次的題目是接著上次的一維陣列進行的進一步的引申,雖然考慮了很多的方法,但還是覺得窮舉法是最保險的一種,下面是我們的思路 我們採用的是自己輸入行數和列數,然後輸入資料進行測試。同時申請了兩個陣列用來存放子集的長度和寬度,好用來輸出。主要的就是for迴圈了,首先是最外層的,先...