題目:給出乙個 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迴圈了,首先是最外層的,先...