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