第一次涉及矩阵运算,感觉很难,请教下什么原因
#include <iostream>const int MAX = 100;using namespace std;void find(int num[][MAX], int x, int y);int findmax(int num[][MAX], int x, int y);void main(){ int x, y; int num[MAX][MAX]; while (cin >> x && x != EOF && cin >> y && y != EOF ) { for (int i = 0; i < x; ++i) { for (int j = 0; j < y; ++j) { cin >> num[i][j]; } } find(num, x, y); cout << findmax(num, x, y) << endl; }}void find(int num[][MAX], int x, int y){ for (int i = 0; i < x; ++i) { for (int j = 1; j < y; ++j) { num[i][j] += num[i][j-1]; } }}int findmax(int num[][MAX], int x, int y){ int temp = 0; int maxsub = num[0][0]; for (int j = 0; j < y; ++j) { for (int i = 0; i < x; ++i) { temp += num[i][j]; if (temp > 0) { if (temp > maxsub) { maxsub = temp; } } else { temp = 0; } } temp = 0; } return maxsub;}