NikaBang

Амнистия

Dec 6th, 2022 (edited)
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.46 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. internal class Program
  6. {
  7.     //В нашей великой стране Арстоцка произошла амнистия!
  8.     //Всех людей, заключенных за преступление "Антиправительственное", следует исключить из списка заключенных.
  9.     //Есть список заключенных, каждый заключенный состоит из полей: ФИО, преступление.
  10.     //Вывести список до амнистии и после.
  11.  
  12.     static void Main(string[] args)
  13.     {
  14.         Database database = new Database();
  15.         database.Amnesty();
  16.     }
  17.  
  18.     class Criminal
  19.     {
  20.         public string Name { get; }
  21.         public string Crime { get; }
  22.  
  23.         public Criminal(string name, string crime)
  24.         {
  25.             Name = name;
  26.             Crime = crime;
  27.         }
  28.  
  29.         public void ShowInfo()
  30.         {
  31.             Console.WriteLine($"ФИО: {Name}  Преступление: {Crime}");
  32.         }
  33.     }
  34.  
  35.     class Database
  36.     {
  37.         private List<Criminal> _criminals;
  38.  
  39.         public Database()
  40.         {
  41.             _criminals = new List<Criminal>();
  42.  
  43.             Fill();
  44.         }
  45.  
  46.         public void Amnesty()
  47.         {
  48.             string amnesty = "Антиправительственное";
  49.  
  50.             Console.WriteLine("Список заключенных До амнистии:\n");
  51.  
  52.             ShowInfo();
  53.  
  54.             Console.WriteLine("\nСписок заключенных После амнистии:\n");
  55.  
  56.             var filterCriminals = from Criminal criminal in _criminals
  57.                                   where criminal.Crime != amnesty
  58.                                   select criminal;
  59.  
  60.             foreach (var filter in filterCriminals)
  61.             {
  62.                 filter.ShowInfo();
  63.             }
  64.         }
  65.  
  66.         private void ShowInfo()
  67.         {
  68.             foreach (var criminal in _criminals)
  69.             {
  70.                 criminal.ShowInfo();
  71.             }
  72.         }
  73.  
  74.         private void Fill()
  75.         {
  76.             Criminal[] criminals =
  77.             {
  78.                 new Criminal("Иванов И.А.","Антиправительственное"),
  79.                 new Criminal("Смирнов И.С.","УченикХаудиХо"),
  80.                 new Criminal("Гусев У.П.","Хацкерство"),
  81.                 new Criminal("Лебединский К.О.","Жульничество"),
  82.                 new Criminal("Наскович И.И.","Антиправительственное"),
  83.                 new Criminal("Дружини И.Д.","ЗлоупотреблялФичами"),
  84.                 new Criminal("Чураков Т.И.","Антиправительственное"),
  85.                 new Criminal("Шабалин И.Л.","СрывалДедлайны"),
  86.                 new Criminal("Сакутин Р.В.","УченикХаудиХо"),
  87.                 new Criminal("Голубев И.Ш.","Антиправительственное"),
  88.                 new Criminal("Лолкеков П.Е.","Хацкерство"),
  89.                 new Criminal("Чебуреков И.Г.","Антиправительственное"),
  90.                 new Criminal("Ситор Л.О.","Хацкерство")
  91.             };
  92.  
  93.             _criminals.AddRange(criminals);
  94.         }
  95.     }
  96. }
Add Comment
Please, Sign In to add comment