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

如何重新設定陣列ㄉ內容跟如何表示分母為0的狀態

尚未結案
goldhero
一般會員


發表:7
回覆:9
積分:3
註冊:2003-11-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-02 02:26:50 IP:218.172.xxx.xxx 未訂閱
想問兩個問題: 第一個是假設我宣告一個 struct ip{ int x; int y; } ip a[5]; 而我已對a[].x跟a[].y給定一個內容了,但我現在想有一個button的功能是可以讓我重新設定這a[].x跟a[].y的內容並讓我可以從a[0]開始給予值,我應該要如何做呢? 第二個問題是我在image中點了兩個點讓它變成鉛直線,可是我想畫出這一條鉛直線的中垂線要如何做呢?我用斜率的概念,但分母為0會發生錯誤,要如何讓電腦不會對這情況認為他是錯誤的 麻煩指教.....謝謝

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-02 05:04:56 IP:163.23.xxx.xxx 未訂閱
goldhero 您好: 
     試試下面的範例合不合您用     (>>
#>>>>>Caption = "重新給定 ip [ ">Text!="" && Edit2->Text!="")
        {
          ip[i].x = StrToInt(Edit1->Text) ;
          ip[i].y = StrToInt(Edit2->Text) ;
          Edit1->Text = "" ;
          Edit2->Text = "" ;
          i   ;
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  // 問題(2) 
  a = a   1 ;
  ip[a].x = X , ip[a].y = Y ; // 記錄 ip[0]點 跟 ip[1] 
  if (a==1) // ip[0] 與 ip[1] 都有了
    {
      // 畫 ip[0] 與 ip[1] 之連線
      Image1->Canvas->MoveTo( ip[a].x , ip[a].y ) ;
      Image1->Canvas->LineTo( ip[a-1].x , ip[a-1].y ) ;
      // 求 ip[0].y 及 ip[1].y 之中點
      if ((ip[a].y - ip[a-1].y)>0)
           ip[2].y = ip[a].y - (ip[a].y - ip[a-1].y)/2 ;
      else ip[2].y = ip[a-1].y - (ip[a-1].y - ip[a].y)/2 ;
      // 畫出任意兩點之鉛直線之 平分線
      Image1->Canvas->MoveTo (0 ,ip[2].y ) ;
      Image1->Canvas->LineTo (Image1->Width ,ip[2].y) ;
    }
}
//---------------------------------------------------------------------------
祝順心 發表人 - 流 於 2003/12/02 05:33:09
goldhero
一般會員


發表:7
回覆:9
積分:3
註冊:2003-11-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-02 22:22:48 IP:218.172.xxx.xxx 未訂閱
你好 感謝你的解答,關於第一個問題我想我懂了,但第二個問題因我是要可以在平面上任兩點畫出這兩點的中垂線,所以應該是一定要使用到斜率,所以第二個問題不知還有什麼比較好的辦法

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-02 23:55:02 IP:163.23.xxx.xxx 未訂閱
引言: 你好 感謝你的解答,關於第一個問題我想我懂了,但第二個問題因我是要可以在平面上任兩點畫出這兩點的中垂線,所以應該是一定要使用到斜率,所以第二個問題不知還有什麼比較好的辦法
goldhero 您好 體會一下數學式 m = y2 - y1 / x2 - x1 你所講的斜率其實就是兩點間 x 與 y 相差的比值 如果你能決定出兩點,那又何須斜率,不是嗎? 如果你決定好斜率了,那你必須再做好幾個動作 (>(> , <>(>) ( >
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-03 08:49:41 IP:218.160.xxx.xxx 未訂閱
引言: 平面上任兩點畫出這兩點的中垂線,所以應該是一定要使用到斜率,所以第二個問題不知還有什麼比較好的辦法
之前我處理的方式是先判斷分母是否為零,為0劃垂直線,不為零就照你原先公式即可.
goldhero
一般會員


發表:7
回覆:9
積分:3
註冊:2003-11-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-03 21:41:01 IP:218.172.xxx.xxx 未訂閱
對於流兄ㄉ回覆,是非常感激, 也許是我說的不夠詳細, 因我要做的這個功能是可以讓在平面上的任兩點作出其中垂線 所以我必須要猜測所發生的各種情形 包括了兩點平行,垂直或是一班狀況 所以我的想法是利用斜率來判斷這兩點是屬於哪一種狀況再來畫出中垂線 所以我才有此一問 不管如何還是很感謝你的解答.....謝謝
系統時間:2024-05-18 14:48:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!