找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 630|回复: 4

[ARX程序]:请教ARX中的二维数组的问题

[复制链接]
发表于 2006-9-4 10:44:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我定义一个typedef AcArray<AcGeDoubleArray> AcGeTwoDoubleArray;
其中AcGeDoubleArray是AcArray建立的一维数组。

int CEdPol_RetListSet(AcGeTwoDoubleArray &dRetPoint,
                                          AcGeTwoDoubleArray &dRetVal)
{
        char                                buffer[100] ={'\0'};
        CString                                strPam;

        //output
        strPam = "";
        for (int i = 0; i < dRetPoint.length(); i++)
        {
                dRetVal.append(dRetPoint);
                ////////////////////////////////////////////////////////////////////////
                strPam = "";
                strPam.Format("dRetVal[%d]:  \n",i);
                for(int j = 0;j < (dRetVal).length(); j++)
                {
                        _gcvt( dRetVal[j], 7, buffer );
                        if (0 != j && 0 == j % 4)
                        {
                                strPam = strPam + "\n";
                        }
                        strPam= strPam + "  " + buffer;
                }
                strPam=strPam +"\n\n";
                OutputDebugString(strPam);
                ////////////////////////////////////////////////////////////////////////
        }
       
        //////////////////////////////////////////////////////////////////////////
        strPam = "";
        for(i = 0;i < dRetVal.length(); i++)
        {
                if (0 == i)
                {
                        strPam = "dRetVal:  \n";
                }
                for (int j = 0; j < (dRetVal).length(); j++)
                {       
                        _gcvt( dRetVal[j], 7, buffer );
                        if (j != 0 && j % 4 == 0)
                        {
                                strPam=strPam +"\n";
                        }
                        strPam=strPam + buffer;
                }
                strPam=strPam +"\n" + "---------------" + "\n";
        }
        strPam=strPam +"\n\n";
        OutputDebugString(strPam);
        //////////////////////////////////////////////////////////////////////////
        return(1);
}

DEBUG信息:-----------

dRetVal[0]:  
  100.  100.  0.  0.
  100.  150.  0.  0.

dRetVal[1]:  
  100.  150.  0.  0.
  100.  160.  0.  0.

dRetVal[2]:  
  150.  200.  0.  0.
  200.  200.  0.  0.
  200.  100.  0.  0.

dRetVal[3]:  
  100.  160.  0.  0.
  100.  200.  0.  0.
  150.  200.  0.  0.

dRetVal:  //多次调用后添加的结果
100.100.0.0.
100.150.0.0.
---------------
100.150.0.0.
100.160.0.0.
---------------
150.200.0.0.
200.200.0.0.
200.100.0.0.
---------------
100.160.0.0.
100.200.0.0.
150.200.0.0.
---------------
1.131356e-307100.0.0.//这里出现非法值
100.150.0.0.
---------------
100.150.0.0.
100.160.0.0.
---------------
100.160.0.0.
100.200.0.0.
150.200.0.0.
---------------
150.200.0.0.
200.200.0.0.
200.100.0.0.
---------------
100.100.0.0.
100.150.0.0.
---------------
100.150.0.0.////////////
100.160.0.0.
---------------
100.160.0.0.
100.200.0.0.
150.200.0.0.
---------------
150.200.0.0.
200.200.0.0.
200.100.0.0.
---------------
100.100.0.0./////////////////
100.150.0.0.
---------------
100.150.0.0.
100.160.0.0.
---------------
100.160.0.0.
100.200.0.0.
150.200.0.0.
---------------
150.200.0.0.
200.200.0.0.
200.100.0.0.
---------------

请高手指教
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-9-4 17:54:00 | 显示全部楼层
没看出问题,DEBUG试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-9-7 08:48:47 | 显示全部楼层
可能是CAD里的浮点运算问题,e-307可认为是0了
我在比较浮点的数值时都是比较差值的范围:fabs(a-b)<0.001,不知道有其它的方法没
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-9-7 14:05:19 | 显示全部楼层
转换为字符串之前判断数组数据是否0值,看是否能解决这个问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-9-7 23:17:59 | 显示全部楼层
qqww
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 05:00 , Processed in 0.313526 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表