Advertisement
_KAGATUN_

Untitled

May 6th, 2024
772
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.76 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace UnificationTroops
  6. {
  7.     internal class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<Soldier> soldiersFirst = new List<Soldier>
  12.             {
  13.                 new Soldier ("Иванов", "Иван", "Иванович"),
  14.                 new Soldier ("Петров", "Николай", "Владимирович"),
  15.                 new Soldier ("Сергеев", "Илья", "Петрович"),
  16.                 new Soldier ("Соколовский", "Иван", "Константинович"),
  17.                 new Soldier ("Абрамов", "Александр", "Валентинович"),
  18.                 new Soldier ("Березов", "Александр", "Сергеевич"),
  19.                 new Soldier ("Баженов", "Дмитрий", "Дмитриевич"),
  20.                 new Soldier ("Корешков", "Валерий", "Степанович"),
  21.                 new Soldier ("Чечеков", "Артем", "Александрович"),
  22.                 new Soldier ("Крикунов", "Михаил", "Евгеньевич"),
  23.                 new Soldier ("Зайцев", "Арсений", "Антонович"),
  24.                 new Soldier ("Бобров", "Артемий", "Валерьевич"),
  25.                 new Soldier ("Юров", "Игнат", "Семенович"),
  26.                 new Soldier ("Зайцев", "Николай", "Константинович"),
  27.                 new Soldier ("Бабкин", "Юрий", "Антонович"),
  28.                 new Soldier ("Кот", "Станислав", "Игоревич"),
  29.                 new Soldier ("Зайцев", "Александр", "Юрьевич"),
  30.                 new Soldier ("Воробьев", "Николай", "Антонович"),
  31.                 new Soldier ("Смирнов", "Юрий", "Алексеевич"),
  32.                 new Soldier ("Уткин", "Андрей", "Иванович"),
  33.                 new Soldier ("Лебедев", "Юрий", "Иванович"),
  34.             };
  35.  
  36.             List<Soldier> soldiersSecond = new List<Soldier>
  37.             {
  38.                 new Soldier("Березов", "Иван", "Иванович"),
  39.                 new Soldier("Братов", "Николай", "Владимирович"),
  40.                 new Soldier("Бережной", "Илья", "Степанович"),
  41.                 new Soldier("Богомолов", "Иван", "Константинович"),
  42.                 new Soldier("Брежнев", "Александр", "Валентинович"),
  43.                 new Soldier("Беглов", "Илья", "Петрович")
  44.             };
  45.  
  46.             Platoon platoonFirst = new Platoon(soldiersFirst);
  47.             platoonFirst.ShowPlatoon("\nДо изменений первый отряд\n");
  48.  
  49.             Platoon platoonSecond = new Platoon(soldiersSecond);
  50.             platoonSecond.ShowPlatoon("\nДо изменений второй отряд\n");
  51.  
  52.             List<Soldier> soldiers = platoonFirst.GetSoldiers();
  53.  
  54.             platoonSecond.CombinePlatoons(soldiers);
  55.  
  56.             platoonFirst.ShowPlatoon("\nПосле изменений первый отряд\n");
  57.  
  58.             platoonSecond.ShowPlatoon("\nПосле изменений второй отряд\n");
  59.         }
  60.     }
  61.  
  62.     class Soldier
  63.     {
  64.         public Soldier(string surname, string name, string patronymic)
  65.         {
  66.             Surname = surname;
  67.             Name = name;
  68.             Patronymic = patronymic;
  69.         }
  70.  
  71.         public string Surname { get; private set; }
  72.         public string Name { get; private set; }
  73.         public string Patronymic { get; private set; }
  74.  
  75.         public void ShowInfo()
  76.         {
  77.             Console.WriteLine($"Фамилия: {Surname}, Имя: {Name}, Отчество: {Patronymic}");
  78.         }
  79.     }
  80.  
  81.     class Platoon
  82.     {
  83.         private List<Soldier> _soldiers = new List<Soldier>();
  84.  
  85.         public Platoon(List<Soldier> soldiers)
  86.         {
  87.             _soldiers = soldiers;
  88.         }
  89.  
  90.         public List<Soldier> GetSoldiers()
  91.         {
  92.             var sortedSoldiers = _soldiers.Where(soldier => soldier.Surname.StartsWith("Б")).ToList();
  93.  
  94.             _soldiers.RemoveAll(soldier => sortedSoldiers.Contains(soldier));
  95.  
  96.             return sortedSoldiers;
  97.         }
  98.  
  99.         public void CombinePlatoons(List<Soldier> soldiers)
  100.         {
  101.             _soldiers.AddRange(soldiers);
  102.  
  103.             soldiers.Clear();
  104.         }
  105.  
  106.         public void ShowPlatoon(string text)
  107.         {
  108.             Console.WriteLine(text);
  109.  
  110.             foreach (Soldier soldier in _soldiers)
  111.             {
  112.                 soldier.ShowInfo();
  113.             }
  114.         }
  115.     }
  116. }
  117.  
  118.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement