Реализовать тип к задаче о спортивных соревнованиях - C#
Формулировка задачи:
Помогите пожалуйста написать задачу
задание: выполнить задачу с использованием конструктора и различных вариантов объявления структуры(внутри класса вне класса)
задача: Результаты соревнований по прыжкам в длину определяются по сумме двух попыток. В протоколе для каждого участника указываются: фамилия, общество, результаты первой и второй попыток. Вывести протокол в виде таблицы с заголовком в порядке занятых мест.
(чем быстрее тем лучше)
Решение задачи: «Реализовать тип к задаче о спортивных соревнованиях»
textual
Листинг программы
private struct Result : IComparable<Result>
{
public String FIO { get; private set; }
public String Society { get; private set; }
public Int32 First { get; private set; }
public Int32 Second { get; private set; }
public Result(String fio, String society, Int32 first, Int32 second)
: this()
{
FIO = fio;
Society = society;
First = first;
Second = second;
}
public Int32 CompareTo(Result other)
{
return (First + Second).CompareTo(other.First + other.Second);
}
public override String ToString()
{
return String.Format("FIO = {0},\t Society = {1},\t First = {2},\t Second = {3}", FIO, Society, First, Second);
}
}
private static void Main(string[] args)
{
var results = new List<Result>();
//Тут вводим из консоли или считываем из файла ну я просто захардкодил
results.Add(new Result("Вася Пупкин", "I", 12, 15));
results.Add(new Result("Вася Пупкин 2", "I", 16, 15));
//Сортируем Если просто вызвать results.Sort() то компаратор написанный мной отсортирует по возрастанию для сортировки по убыванию надо его переписать но легче это сделать LINQ (что наже я и написал)
var sort = from item in results orderby (item.First + item.Second) descending select item;
Console.WriteLine("Protocol:\r\n");
foreach (var result in sort)
{
Console.WriteLine(result);
}
Console.ReadLine();
}