Отобразить уравнение окружности минимального радиуса которое описывает все заданные точки - C#
Формулировка задачи:
Помогите пожалуйста с задачей.
"Дано множество точек на плоскости (не менее 40).Координаты могут вводиться вручную с клавиатуры или из файла.Отобразить уравнение окружности минимального радиуса которое описывает все эти точки."
Решение задачи: «Отобразить уравнение окружности минимального радиуса которое описывает все заданные точки»
textual
Листинг программы
using System;
class Program
{
static void Main(string[] args)
{
String[] Input = ("1 0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1 8,1 9," +
"2 0,2 1,2 2,2 3,2 4,2 5,2 6,2 7,2 8,2 9," +
"3 0,3 1,3 2,3 3,3 4,3 5,3 6,3 7,3 8,3 9," +
"4 0,4 1,4 2,4 3,4 4,4 5,4 6,4 7,4 8,4 9").Split(',');
Int32 minX, minY, maxX, maxY;
minX = Int32.Parse(Input[0].Split(' ')[0]);
minY = Int32.Parse(Input[0].Split(' ')[1]);
maxX = Int32.Parse(Input[0].Split(' ')[0]);
maxY = Int32.Parse(Input[0].Split(' ')[1]);
for (Int32 i = 1; i < Input.Length; i++)
{
Int32 x = Int32.Parse(Input[i].Split(' ')[0]);
Int32 y = Int32.Parse(Input[i].Split(' ')[1]);
if (x < minX) minX = x;
if (y < minY) minY = y;
if (x > maxX) maxX = x;
if (y > maxY) maxY = y;
}
Double XO = (minX + maxX) / 2.0;
Double YO = (minY + maxY) / 2.0;
Double R = Math.Max(XO, YO);
Console.WriteLine("MIN X: {0}\tMAX X: {1}\tXO: {2}", minX, maxX, XO);
Console.WriteLine("MIN Y: {0}\tMAX Y: {1}\tYO: {2}", minY, maxY, YO);
Console.WriteLine("\nEQUATION: (X - {0})^2 + (Y - {1})^2 = {2}^2", XO, YO, R);
Console.ReadLine();
}
}