Среди всех точек заданного множества найти точку, лежащую левее всех на оси ОХ - C#
Формулировка задачи:
Дано множество A из N точек на плоскости. Среди всех точек этого множества найти точку, лежащую левее всех на оси ОХ (вывести ее номер и значения координат).
Решение задачи: «Среди всех точек заданного множества найти точку, лежащую левее всех на оси ОХ»
textual
Листинг программы
using System;
using System.Linq;
namespace ConsoleApplication2
{
struct Point:IComparable<Point>
{
public int X, Y;
public int CompareTo(Point other)
{
if (other.X == X)
return 0;
if (other.X < X)
return 1;
return -1;
}
public override string ToString()
{
return string.Format("X={0};Y={1}", X, Y);
}
public Point(int x,int y)
{
X = x;
Y = y;
}
}
class Program
{
static void Main(string[] args)
{
var points = new[]
{
new Point(2,3) ,
new Point(4,5),
new Point(-8,0),
new Point(-1,2),
new Point(-3,4),
new Point(-5,6),
new Point(-2,6),
};
foreach (var p in points)
{
Console.WriteLine(p);
}
var min = points.Min(p => p);
Console.WriteLine("Точка левее всех на оси OX {0}",min);
Console.WriteLine("Ее индекс {0}",Array.FindIndex(points,p=>p.Equals(min)));
}
}
}