Вычислить расстояние между двумя точками - C# (193593)
Формулировка задачи:
Помогите с задачкой: Две точки заданы на плоскости своими координатами, которые могут быть как декартовыми, так и полярными. Требуется вычислить расстояние между этими двумя точками.
Решение задачи: «Вычислить расстояние между двумя точками»
textual
Листинг программы
using System;
namespace L3Z5 {
class Program {
static void Main() {
Console.Write("Меню:\n1 - полярные\n2 - декартовы\nЧо - ");
try {
int n=int.Parse(Console.ReadLine());
Console.Write("Координаты (*)A\n\t{0} = ",n==1 ? "R":"X");
double a1=double.Parse(Console.ReadLine().Replace('.', ','));
Console.Write("\t{0} = ", n==1 ? "Ф":"Y");
double a2=double.Parse(Console.ReadLine().Replace('.', ','));
Console.Write("Координаты (*)B\n\t{0} = ", n==1 ? "R":"X");
double b1=double.Parse(Console.ReadLine().Replace('.', ','));
Console.Write("\t{0} = ", n==1 ? "Ф":"Y");
double b2=double.Parse(Console.ReadLine().Replace('.', ','));
double x1=a1,y1=a2,x2=b1,y2=b2;
if (n==1) {
x1=a1*Math.Cos(a2);
y1=a1*Math.Sin(a2);
x2=b1*Math.Cos(b2);
y2=b1*Math.Sin(b2);
}
double r=Math.Sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
Console.WriteLine("Расстояние будет равно {0}",r);
} catch (Exception ex) {
Console.WriteLine("Досвидос.\n{0}", ex.Message);
}
Console.ReadLine();
}
}
}