c++ euclidean distance -


this code compiles , runs not output correct distances.

for (int z = 0; z < spaces_x; z++) {     double dist=( ( (spaces[z][0]-x)^2) + ( (spaces[z][1]-y)^2) );     dist = abs(dist);        dist = sqrt(dist);     cout << "for x " << spaces[z][0] <<             " y " << spaces[z][1] <<             " dist  "<< dist << endl;      if (dist < min_dist)     {         min_dist = dist;         index = z;     } } 

does have idea problem be?

the syntax ^ 2 not mean raise power of 2 - means xor. use x * x.

double dx = spaces[z][0] - x; double dy = spaces[z][1] - y; double dist2 = dx * dx + dy * dy; 

Comments

Popular posts from this blog

Delphi Wmi Query on a Remote Machine -