BCB 兩點連線求二元一次方程式 |
答題得分者是:daldal
|
fish730622
一般會員 發表:7 回覆:5 積分:2 註冊:2007-07-05 發送簡訊給我 |
我PO我的程式碼出來,因為執行出來怪怪的
新手上路!!請各位大大指導指導 就是簡單的兩個點(MMX,MMY) (CPX,CPY)連線求二元一次方程式 y=ax b [code cpp] void __fastcall TForm1::Button1Click(TObject *Sender) { int a,b; int y,x; int MMX=300,MMY=220,CPX=320,CPY=240; MMY=(MMX*a) b; CPY=(CPX*a) b; a=(MMY-CPY)/(MMX-CPX); b=MMY-(MMX*a); y=(a*x) b; Memo1->Lines->Insert(0,IntToStr(y)); } [/code] 我想要秀出y=x-80 在Memo1上 編輯記錄
fish730622 重新編輯於 2008-05-20 00:07:14, 註解 無‧
|
daldal
高階會員 發表:6 回覆:102 積分:226 註冊:2007-06-18 發送簡訊給我 |
兩點求解 y=ax+b
(X1,Y1) (X2,Y2) PS: 此方程式不包含 x=ay b 的解(方法是相同的,請自行撰寫囉) [code cpp] float a=(float)(Y1-Y2)/(X1-X2); //計算a float b=(float)(Y2*X1-X2*Y1)/(X1-X2); //計算b Memo1->Lines->Add("y=" FloatToStrF(a,ffFixed,7,7) "x " FloatToStrF(b,ffFixed,7,7)); //放入Memo1 [/code] |
fish730622
一般會員 發表:7 回覆:5 積分:2 註冊:2007-07-05 發送簡訊給我 |
|
daldal
高階會員 發表:6 回覆:102 積分:226 註冊:2007-06-18 發送簡訊給我 |
[code cpp] float a,b; //float y,x; int MMX=300,MMY=220,CPX=320,CPY=240; a=(float)(MMY-CPY)/(MMX-CPX); b=MMY-(MMX*a); Memo1->Lines->Add("y=" FloatToStr(a) "x (" FloatToStr(b) ")"); [/code] 加上(float)是因為(MMY-CPY)/(MMX-CPX)四個變數都是整數integer 所以加上(float)轉型,不然計算結果會被捨去小數點位數 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |