線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1721
推到 Plurk!
推到 Facebook!

BCB運算問題

尚未結案
patrickleeee
一般會員


發表:1
回覆:0
積分:0
註冊:2005-09-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-19 02:44:44 IP:220.138.xxx.xxx 未訂閱
我做了一個程式,目的是將滑鼠抓的一連串的點存到一個A[][]陣列,再將其中的點做運算,算出是否連續。以下為程式 ------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
    int count=0,next,dx,dy;  //count運算中的第一點 next 下一點 dxdy座標差
    double distance;
    next=A[2][count];
    while(A[2][next]>0)
    {
         dx=fabs(A[0][count]-A[0][next]);   //算出x座標差
         dy=fabs(A[1][count]-A[1][next]);   //算出y座標差             distance = sqrt(dx^2 dy^2);  //將xy座標差平方相加後開根號
         if(distance<=1.41421)   //判別中間無點
         {
              count=A[2][count];
              next=A[2][next];
         }
         else(distance>1.41421) ;  //判別中間有點
         {
              A[0][a 1]=A[0][count] (dx/2);
              A[1][a 1]=A[0][count] (dy/2);
              A[2][a 1]=next;
              A[2][count]=a 1;
              next=A[2][a 1];
              a  ;
         }
    }
}
------------------------------------------------------------------ 這是運算按鈕中的程式,抱歉我剛接觸BCB不久,寫的不是很完備。 程式中未提到的是int A[3][1000];之中[0]的位置存放x座標,[1]的位置存放y 座標[2]的位置存放下一個點的位置(指下一個點存放的位置是A[][X],因為我不 太會指標的用法) 程式主要是在判別兩點中間是否還有其他點,沒有其他點(distance<=1.41421) 就檢查下兩個點。有其他點(distance>1.41421),出此兩點的中間點,再繼續重複步驟,直到最後一點。 主要問題是在distance = sqrt(dx^2 dy^2); 這行(我也改成過dx*dx dy*dy) 原本有絕對值的問題,已經用FABS改善,但是程式執行時會造成CUP100% 不知是運算上真的太耗電腦資源,還是程式有錯誤之處? 請各位前輩解答,感恩! 發表人 - patrickleeee 於 2005/09/19 19:04:25
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-19 11:09:00 IP:59.115.xxx.xxx 未訂閱
patrickleeee 您好:    請注意程式碼的縮排整理並參考下列連結頁面內的說明,然後透過 "修改文章" 的功能重新張貼您的程式碼,以便他人瀏覽: 【公告】程式碼張貼規則與方法 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=57538 【公告】重申版規與作業問題說明 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58991 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/09/19 11:16:40
系統時間:2024-11-23 8:30:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!