2012-12-10 94 views
2

我想要計算的瓦特值,在兩個點之間的距離,反覆。在我ACLASS我有成員一樣X,YW¯¯。所以我使用Pitagoras定理,但如何使用迭代器順利地完成它?這是我的嘗試,但我不知道怎麼用iterator參考「以前比指出」值。 請幫助:)C++指連續值與迭代

Aclass temp; 
for (ars::cClassC::iterator it = New_Diff.begin(); it != New_Diff.end(); it++) 
      { 
      temp.w = sqrt(((it->getX()-(it->getX()-1))^2+((it->getY()-(it->getY()-1))); 
      New_Diff.push_back(temp); 
      } 
+2

小心! 'x^2'不是「x到電源2」,它是「x XOR 2」。所以你需要實現'square()'函數或者只寫x * x。 –

回答

3

只需保存先前元素:

ars::cClassC::iterator it_prev = New_Diff.end(); 
for (ars::cClassC::iterator it = New_Diff.begin(); it != New_Diff.end(); it++) { 
    if (it_prev != New_Diff.end()) { 
    //do the stuff here, now you have the two elements 
    } 
    it_prev = it; 
}