Отобразить уравнение окружности минимального радиуса которое описывает все заданные точки - 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д