我正在嘗試計算兩點之間的距離。我在C ++中將兩個點存儲在向量中:(0,0)和(1,1)。我應(yīng)該得到結(jié)果01.41.40但是我得到的實際結(jié)果是01-10我認為在向量中使用迭代器的方式存在問題。我該如何解決這個問題?我在下面發(fā)布了代碼。typedef struct point { float x; float y;} point;float distance(point *p1, point *p2){ return sqrt((p1->x - p2->x)*(p1->x - p2->x) + (p1->y - p2->y)*(p1->y - p2->y));}int main(){ vector <point> po; point p1; p1.x = 0; p1.y = 0; point p2; p2.x = 1; p2.y = 1; po.push_back(p1); po.push_back(p2); vector <point>::iterator ii; vector <point>::iterator jj; for (ii = po.begin(); ii != po.end(); ii++) { for (jj = po.begin(); jj != po.end(); jj++) { cout << distance(ii,jj) << " "; } } return 0;}
- 3 回答
- 0 關(guān)注
- 427 瀏覽
添加回答
舉報
0/150
提交
取消