首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

第一次涉及矩阵运算,感觉很难,请问下什么原因

2012-03-28 
第一次涉及矩阵运算,感觉很难,请教下什么原因C/C++ code#include iostreamconst int MAX 100using na

第一次涉及矩阵运算,感觉很难,请教下什么原因

C/C++ code
#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;}


[解决办法]
x != EOF && y != EOF 这是什么意思??int型的怎么会==EOF(end of file)
还有就是你的运算到底是想实现什么??
[解决办法]
想问什么,帮你分析代码?看别人的代码是最麻烦的
[解决办法]
你的代码没有注释,帖子又没说明,标识符又不具备清晰明确的含义。这样别人连你的程序是想做什么用的都很难看明白,又怎么帮你看呢?
[解决办法]
按你上面的说法,要找出“一个子矩阵,使得子矩阵各元素之和要最大”,那岂不是说直接把整个矩阵输出就完了?
[解决办法]
楼主是做ACM题 吧?
[解决办法]
探讨
引用:

想问什么,帮你分析代码?看别人的代码是最麻烦的
一个维上面很容易解决的问题,往往变成多维就很困难。如给你一个x*y的矩阵,要找出它的一个子矩阵,使得子矩阵各元素之和要最大

[解决办法]
搞错,第二行的最后两个数8 9 是在后面的7 9 上面的。

热点排行