Найти ближайшую точку к началу координат - C#

Узнай цену своей работы

Формулировка задачи:

Помогите с заданием пожалуйста! Даны действительные числа x0, y0, x1, y1, x2, y2, x3, y3 . На плоскости заданы точки A(x1, y1), B(x2,y2) и C(x3, y3) . Определить, какая из этих точек является ближайшей к началу координат. Вот мои попытки, что то не получается.. выводиться только точка С
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            double x0, y0, x1, y1, x2, y2, x3, y3, r1, r2, r3, minR;
            string min;
            x0 = 0;
            y0 = 0;
            Console.WriteLine("Точка А");
            Console.WriteLine("Введите значение x1");
            x1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y1");
            y1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Точка B");
            Console.WriteLine("Введите значение x2");
            x2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y2");
            y2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Точка C");
            Console.WriteLine("Введите значение x3");
            x3 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y3");
            y3 = Convert.ToDouble(Console.ReadLine());
            r1 = Math.Pow((Math.Pow((x0 - x1), 2) + Math.Pow((y0 - y1), 2)), 0.5);
            r2 = Math.Pow((Math.Pow((x0 - x2), 2) + Math.Pow((y0 - y2), 2)), 0.5);
            r3 = Math.Pow((Math.Pow((x0 - x3), 2) + Math.Pow((y0 - y3), 2)), 0.5);
            minR = 0;
            min = "0";
 
            if (r1 > minR)
            {
                min = "A";
            }
            if (r2 > minR)
            {
                min = "B";
            }
            if (r3 > minR)
            {
                min = "C";
            }
            if ((r1 == r2) && (r1 == minR))
            {
                min = "A,B";
            }
            if ((r2 == r3) && (r2 == minR))
            {
                min = "B,C";
            }
            if ((r1 == r3) && (r1 == minR))
            {
                min = "A,C";
            }
            if ((r1 == r2) && (r2 == r3) && (r1 == minR))
            {
                min = "A,B,C";
            }
            Console.WriteLine("Ответ:");
            Console.WriteLine("Наименьшее расстояние до начала координат от точки " + min);
            Console.ReadKey();
        }
    }
}
Visual studio c# 2010 express

Решение задачи: «Найти ближайшую точку к началу координат»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
            double x0, y0, x1, y1, x2, y2, x3, y3, r1, r2, r3, minR;
            string min;
            x0 = 0;
            y0 = 0;
            Console.WriteLine("Точка А");
            Console.WriteLine("Введите значение x1");
            x1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y1");
            y1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Точка B");
            Console.WriteLine("Введите значение x2");
            x2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y2");
            y2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Точка C");
            Console.WriteLine("Введите значение x3");
            x3 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите значение y3");
            y3 = Convert.ToDouble(Console.ReadLine());
            r1 = Math.Pow((Math.Pow((x0 - x1), 2) + Math.Pow((y0 - y1), 2)), 0.5);
            r2 = Math.Pow((Math.Pow((x0 - x2), 2) + Math.Pow((y0 - y2), 2)), 0.5);
            r3 = Math.Pow((Math.Pow((x0 - x3), 2) + Math.Pow((y0 - y3), 2)), 0.5);
 
            minR = r1;
            min = "A";
            if (r2 < minR)
            {
                minR = r2;
                min = "B";
            }
            if (r3 < minR)
            {
                minR = r3;
                min = "C";
            }
            if (r1 == minR && r2 == minR)
                min = "A, B";
            if (r2 == minR && r3 == minR)
                min = "B, C";
            if (r1 == minR && r3 == minR)
                min = "A, C";
            if (r1 == minR && r2 == minR && r3 == minR)
                min = "A, B, C";
            Console.WriteLine("Ответ:");
            Console.WriteLine("Наименьшее расстояние до начала координат от точки " + min);
            Console.ReadKey();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5
Похожие ответы