作者bluesapphire (Blue Sapphire)
看板C_and_CPP
標題[問題] 一段課本語法的疑問麻煩了
時間Sat Oct 17 21:38:40 2009
int aPos=0,bPos=0;
while((aPos < terms) && (bPos < b.terms))
if((termArray[aPos].exp) == (b.termarray[bPos].exp)){
float t = termArray[aPos].coef + b.termArray[bPos].coef;
if(t) c.NewTerm(termArray[aPos].coef, termArray[aPos].exp);
aPos++;bPos++;
}
else if((termArray[aPos].exp) < (b.termArray[bPos].exp)){
c.NewTerm(b.termArray[bPos].coef, b.termArray[bPos].exp);
bPos++;
}
else{
c.NewTerm(termArray[aPos].coef,termArray[aPos].exp);
aPos++;
}
各位好,我想詢問一下...
我正在讀資料結構Horowitz那本..他在介紹怎麼用c++算兩個多項式相加
有問題的是上面那兩行...我想詢問一下變色的那一行是不是小於符號應該改成大於
才對...
因為我想說...要是按照他原本的...
要是a的exponent小於b的exponent
則把b的係數和次方放到結果c 然後bPos b的位址再+1
可是我想很久...這樣的話不是就a永遠小於b嗎?
是不是應該小於符號換成大於計算才會對?
thanks for the help
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.64.6
1F:→ tiyun:你真的了解這程式要幹嘛嗎..? 10/17 21:50
2F:推 snowlike:我認為這要視範例告訴你的多項式由次方大排到小還是相反 10/17 21:56
3F:→ bluesapphire:等等我補圖 可能我沒打出整個程式片段 10/17 22:00
4F:→ bluesapphire:剛剛問了人好像應該是降冪排列所以這樣就沒錯 10/17 22:01
6F:→ bluesapphire:上面網址是imageshack照書的圖 恩恩^^ 10/17 22:02
7F:→ bluesapphire:不過還是要謝謝樓上兩位熱心幫忙想 10/17 22:03