我正在尝试计算两点之间的距离。我在C ++中将两个点存储在向量中:(0,0)和(1,1)。我应该得到结果01.41.40但是我得到的实际结果是01-10我认为在向量中使用迭代器的方式存在问题。我该如何解决这个问题?我在下面发布了代码。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 回答
- 3 回答
- 0 关注
- 414 浏览
添加回答
举报
0/150
提交
取消