#include<iostream.h>
#include<math.h>
float toRadian (float angle) {
float const PI = atan(1.0)*4.0;
return(angle * PI / 180.0);
}
float computeDist (float lat1, float long1, float lat2, float long2) {
float const R = 3964.0;
float temp;
temp = sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(long1-long2);
return(2.0 * R * atan(sqrt((1.0-temp)/(1.0+temp))));
}
void main () {
float lat1, long1, lat2, long2, distance;
cout << "Enter lat1, long1: ";
cin >> lat1 >> long1;
cout << "Enter lat2, long2: ";
cin >> lat2 >> long2;
distance = computeDist(toRadian(lat1),
toRadian(long1),
toRadian(lat2),
toRadian(long2));
cout << "Distance = " << distance << endl;
}
Friday, 14 June 2013
Compute distance between cities using square roots in C++
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment