public double x { get; set; }
public double y { get; set; }
public double vzdalenostBodu(Bod b) {
return Math.Abs(Math.Sqrt(Math.Pow(b.x - this.x, 2) + Math.Pow(b.y - this.y, 2)));
public double uhelBodu(Bod b) {
return Math.Atan2(b.y - this.y, b.x - this.x);
public Bod bodZVektoru(double vzdalenost, double uhel) {
b.x = this.x + vzdalenost * Math.Cos(uhel);
b.y = this.y + vzdalenost * Math.Sin(uhel);
public static void Main(string[] args)
double spotrebaPaliva = 10;
Console.WriteLine("Spotřeba paliva [litry/hod]: " + spotrebaPaliva);
Console.Write("Dostupné palivo na začátku letu [litry]: ");
double dostupnePalivo = Convert.ToDouble(Console.ReadLine());
Console.Write("Rychlost letadla [km/h]: ");
double rychlost = Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte x souřadnici Letiště A [km]: ");
double ax = Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte y souřadnici Letiště A [km]: ");
double ay = Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte x souřadnici Letiště B [km]: ");
double bx = Convert.ToDouble(Console.ReadLine());
Console.Write("Zadejte y souřadnici Letiště B [km]: ");
double by = Convert.ToDouble(Console.ReadLine());
double maximalniDobaLetu = ;
Console.WriteLine("maximální doba letu: " + formatovatCas(maximalniDobaLetu) + " hod");
double maximalniDolet = ;
Console.WriteLine("maximální dolet: " + maximalniDolet + " km");
double vzdalenostMeziLetisti = ;
Console.WriteLine("vzdálenost mezi letišti: " + vzdalenostMeziLetisti + " km");
Console.WriteLine("Letadlo do druhého letiště DOLETÍ");
Console.WriteLine("doba letu: " + formatovatCas(dobaLetu) + " hod");
Console.WriteLine("Letadlo do druhého letiště NEDOLETÍ");
Console.WriteLine("doletí pouze na souřadnice [" + bodDoletu.x + ", " + bodDoletu.y + ']');
public static string formatovatCas(double hodiny) {
int min = (int)(hodiny * 60) % 60;
int sek = (int)(hodiny * 3600) % 60;
min.ToString().PadLeft(2,'0') + ":" +
sek.ToString().PadLeft(2,'0');