24小时热门版块排行榜    

查看: 291  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

小兰花

银虫 (著名写手)


[交流] 【求助】请教一个二维矩阵的问题(请高手帮分析一下程序结果),谢谢!

已知道程序如下:(为检验程序,录的小矩阵!)

#include
#include
#include
using namespace std;

#define La 4                // La 为长;对x方向
#define Ha 5                // Ha 为宽;对y方向

void main()
{
        int i,j,x,y;
        double *C=new double[La*Ha];
       
        {
                for (x=0;x                         for (y=0;y                         {   
                                C[x*La+y]=x+y;
                        }
        }
       
        {
                ofstream tfile;
                tfile.open("C.txt";                   //存到矩阵C中                       
                for (i=0;i                 {       
                        for (j=0;j                                 tfile<                         tfile<                 }
                tfile.close();
        }       
}


程序结果为:
C=
0 1 2 3 1
1 2 3 4 2
2 3 4 5 3   
3 4 5 6 7

理论分析结果应该为:
C=
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7

请高手指点一下!谢谢!
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


★ ★ ★
小兰花(金币+5): 非常感谢您的再次帮忙!问题已经解决!呵呵 2011-01-17 16:23:44
余泽成(金币+3): 谢谢参与应助! 2011-01-19 14:57:29
本质问题是你使用了错误的表达式:x*La+y,应该是x*Ha+y,不解释。
3楼2011-01-17 12:38:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

tantan2010

木虫 (职业作家)


★ ★ ★
小兰花(金币+5): 感谢您的再次帮忙!问题已经解决! 2011-01-17 16:23:20
余泽成(金币+3): 谢谢参与应助! 2011-01-19 14:57:17
引用回帖:
Originally posted by 小兰花 at 2011-01-16 23:05:38:
已知道程序如下:(为检验程序,录的小矩阵!)

#include
#include
#include
using namespace std;

#define La 4                // La 为长;对x方 ...

你的矩阵问题
如C[4]就重复了
x*La+y ==> x=0,La=0,y=4 ==> x+y =4
x*La+y ==> x=1,La=4,y=0 ==> x+y =1
最后C[4] 就等于1
其它的类似
2楼2011-01-17 10:48:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见