Упражнения на С ++: вычисление расстояния между двумя точками на поверхности земли
C ++ Basic: упражнение 59 с решением
Напишите программу на C ++, чтобы вычислить расстояние между двумя точками на поверхности Земли.
Пример решения :
Код C ++:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double d,la1,la2,lo1,lo2,er,r;
cout << "\n\n Print the the distance between two points on the surface of earth:\n";
cout << "-----------------------------------------------------------------------\n";
cout << " Input the latitude of coordinate 1: ";
cin>> la1;
cout << " Input the longitude of coordinate 1: ";
cin>> lo1;
cout << " Input the latitude of coordinate 2: ";
cin>> la2;
cout << " Input the longitude of coordinate 2: ";
cin>> lo2;
r=0.01745327; //Pi/180=3.14159/180
la1=la1*r;
la2=la2*r;
lo1=lo1*r;
lo2=lo2*r;
er=6371.01; //Kilometers
d=er * acos((sin(la1)*sin(la2)) + (cos(la1)*cos(la2)*cos(lo1 - lo2)));
cout<<" The distance between those points is: "<<d<<"\n";
}
Пример вывода:
Выведите расстояние между двумя точками на поверхности земли: -------------------------------------------------- --------------------- Введите широту координаты 1: 25 Введите долготу координаты 1: 35 Введите широту координаты 2: 35,5 Введите долготу координаты 2: 25,5 Расстояние между этими точками: 1480,08
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++ для печати области многоугольника.
Далее: написать программу на C ++ для добавления двух двоичных чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code