Как найти расстояние между множеством точек, и вывести таблицу квадратную таблицу Nна Nс подписями строк и столбцов, содержащую расстояние

RoFrom(А) –расстояние до другого объекта (А). Здесь следует учесть, что для класса (Point)объект Aдолжен быть этого же типа (т.к. Circleещё не описан), а для класса (Circle)объект Aможет иметь и тот и другой тип (быть и точкой и кругом). Для проверки второго метода выведите квадратную таблицу Nна Nс подписями строк и столбцов, содержащую расстояние от i-го объектадо j-го.

Результат должен быть такимвведите сюда описание изображения

Вот, на чем я остановился, помогите, пожалуйста

        static void Create(out Point[] p, int k)
        {
        p = new Point[k];
        Random rnd = new Random();
        for (int i = 0; i < k; i++)
        {
            if (rnd.NextDouble() < 0.4)
                p[i] = new Point(rnd.Next(10), rnd.Next(10));
            else p[i] = new Circle(rnd.Next(10), rnd.Next(10), rnd.Next(8));
        }
    }     

    static void Show(Point[] p)
    {
        int k = p.Length;
        for (int i = 0; i < k; i++)
        {
            if (p[i] is Circle)
                Console.WriteLine("{0,2} - {1}", i, ((Circle)p[i]).Info());
            else Console.WriteLine("{0,2} - {1}", i, p[i].Info());
        }            
        Console.WriteLine("-------------------------------");
    }

    static void Transform(Point[] p)
    {
        for (int i = 0; i < p.Length; i++)
        {
            if (p[i] is Circle)
                ((Circle)p[i]).SetSquare(10);
            else p[i].Move(5, 5);
        }
    }

    static void Simm(Point[] p)
    {
        for (int i = 0; i < p.Length; i++)
        {
            p[i].Simm();
        }
    }

    static void A(double x, double y)
    {
        x = 5;
        y = 5;
    }

    static void RoFrom(Point[] p, Point[] A)
    {
        for (int i = 0; i < p.Length; i++)
        {
            for (int j = 0; j < p.Length; j++)
            {
                double range = Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
                Console.WriteLine()
            }
        }
    }

Класс Point:

class Point
{
    protected double x, y;
    public Point()
    {

    }
    public Point(double x, double y)
    {
        this.x = x;
        this.y = y;
    }
    public void Move (double dx, double dy)
    {
        x += dx;
        y += dy;
    }
    public string Info()
    {
        return string.Format("Точка ({0,5:F1},{1,5:F1})", x, y);
    }
    public void Simm()
    {            
        if (x == 0)
        {
            this.x = -x;
        }
        if (y == 0)
        {
            this.y = -y;
        }
        this.x = -x;
        this.y = -y;
    }        
}

Ответы (0 шт):