Re: [計程]李秀惠的作業四
※ 引述《lanxcya (小把>"""<)》之銘言:
: ※ 引述《littlekiss (黃小欽)》之銘言:
: : 那個~~
: : 除了範例的數據之外其他情形也都要考慮嗎??
: : 我考慮了... 結果程式變得有點長
: : 有人知道嗎
: 那天半翹英文留著問助教的結論是
: 要做到幾件事
: 1.辨認線的情況
: 我想是用a/d=b/e!=c/f就平行,a/d=b/e=c/f就是重合
: 雖然還要考慮x,y 項係數為零,不過我看助教好像不太在意這個欸
: 我的想法是假如分母是零,line2可能會是x=c或y=c
: 或者根本什麼都不是0x+0y=0或0x+0y=const except 0
: 不知道怎麼寫
我跟BOSS參詳的結果是...
if(a==0 && b==0 && (d!=0 || e!=0))
printf("line one is not reasonable\n");
else if(d==0 && e==0 && (a!=0 || b!=0))
printf("line two is not reasonable\n");
else if((a==0 && b==0) &&( d==0 && e==0))
printf("the two lines are both not reasonable\n");
但這未考慮 0 0 0狀態 而且根本就是把狀況窮舉= = 有點小蠢...
有沒有高人能將他弄得"漂亮"一點XD 感謝...
: 2.另外好像是在帶入線的function的時候要可以表示出'+' '-' '0' '?' 這四種結果
: + -就正負, 0是在線上,?是當線不成立的時候
: 那應該是要從線不成立之後就送過來,然後return一個'?'回去
: 問題好像也卡在這裡XD
在function中加一行 (p.q分別為方程式前兩係數)
if (p==0 && q==0)
s = '?';
elseif
...(略)
return(s)
應該就OK了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.150.133
推
10/15 11:58, , 1F
10/15 11:58, 1F
→
10/15 14:36, , 2F
10/15 14:36, 2F
討論串 (同標題文章)