Помогите разобраться в коде - C#
Формулировка задачи:
namespace ConsoleApplication5 { public class Program { static void Main(string[] args) { var passangers = GetAll(); var passangersCount = ExtraBaggage(passangers); Console.WriteLine($"Количество пассажиров имеющих более двух вещей: {passangersCount}"); var hasHeavyBaggage = HeavyBaggage(passangers); Console.WriteLine($"Пассажир с багажем более 25 кг: {hasHeavyBaggage}"); var moreThenAvgBaggareWeigth = Baggage3(passangers); Console.Write("Число пассажиров, у которых количество вещей превосходит среднее число вещей всех пассажиров:"); Console.WriteLine(moreThenAvgBaggareWeigth); var passangerIdWithAvg = Baggage4(passangers); Console.WriteLine($"Номер пассажира, в багаже которого средний вес одной вещи отличается от общего среднего веса одной вещи не более чем на 0,5 кг: {passangerIdWithAvg}"); Console.ReadLine(); } private static int ExtraBaggage(IEnumerable<Passanger> passangers) { return passangers.Count(p => p.Baggages.Count > 2); } private static bool HeavyBaggage(IEnumerable<Passanger> passangers) { return passangers.Any(p => p.Baggages.Any(b => b.Weigth > 25)); } private static int Baggage3(IEnumerable<Passanger> passangers) { return passangers.Count(p => p.Baggages.Count > passangers.Average(ps => ps.Baggages.Count)); } private static int Baggage4(IEnumerable<Passanger> passangers) { var passanger = passangers.FirstOrDefault(p => Math.Abs(p.Baggages.Average(b => b.Weigth) - passangers.SelectMany(ps => ps.Baggages).Average(bg => bg.Weigth)) <= 0.5); return passanger?.Id ?? -1; } private static IEnumerable<Passanger> GetAll() { return new List<Passanger> { new Passanger { Id = 1, Baggages = new List<Baggage> { new Baggage { Weigth = 0.5 }, new Baggage { Weigth = 5.0 }, new Baggage { Weigth = 3.1 } } ///8.6 },new Passanger { Id = 2, Baggages = new List<Baggage> { new Baggage { Weigth = 6.2 }, new Baggage { Weigth = 2.2 }, new Baggage { Weigth = 10.1 }, new Baggage { Weigth = 0.4 } } ///18.9 },new Passanger { Id = 3, Baggages = new List<Baggage> { new Baggage { Weigth = 0.3 }, new Baggage { Weigth = 6.9 } } ///7.2 },new Passanger { Id = 4, Baggages = new List<Baggage> { new Baggage { Weigth = 15.0 } } },new Passanger { Id = 5, Baggages = new List<Baggage> { new Baggage { Weigth = 3.5 }, new Baggage { Weigth = 7.2 }, new Baggage { Weigth = 6.9 } } ///17.6 },new Passanger { Id = 6, Baggages = new List<Baggage> { new Baggage { Weigth = 9.5 }, new Baggage { Weigth = 4.1 }, new Baggage { Weigth = 1.3 } } ///14.9 },new Passanger { Id = 7, Baggages = new List<Baggage> { new Baggage { Weigth = 31.1 }, new Baggage { Weigth = 1.2 }, new Baggage { Weigth = 7.2 } } ///39.5 },new Passanger { Id = 8, Baggages = new List<Baggage> { new Baggage { Weigth = 4.2 }, new Baggage { Weigth = 9.1 } } ///13.3 },new Passanger { Id = 9, Baggages = new List<Baggage> { new Baggage { Weigth = 6.1 }, new Baggage { Weigth = 3.1 } } ///9.2 },new Passanger { Id = 10, Baggages = new List<Baggage> { new Baggage { Weigth = 0.5 }, new Baggage { Weigth = 3.1 } } ///3.6 }, }; } } public class Passanger { public int Id { get; set; } public ICollection<Baggage> Baggages { get; set; } public Passanger() { Baggages = new List<Baggage>(); } } public class Baggage { public double Weigth { get; set; } } }
48 ( return passanger?.Id ?? -1; )
Решение задачи: «Помогите разобраться в коде»
textual
Листинг программы
public class Passanger { public int Id { get; set; } public ICollection<Baggage> Baggages { get; set; } public Passanger() { Baggages = new List<Baggage>(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д