Advertisement
myloyo

14.2.5

Nov 30th, 2023
897
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.14 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Collections.Specialized;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Globalization;
  9. using System.Security.Cryptography;
  10. using System.Collections;
  11.  
  12. namespace myloyorrr
  13. {
  14.     class Program
  15.     {
  16.         struct Worker : IComparable<Worker>
  17.         {
  18.             public int Year, Sallary, Exp;
  19.             public string Surname, Name, SecName, Position;
  20.             public Worker(string Surname, string Name, string SecName, int Year, string Position, int Sallary, int Exp)
  21.             {
  22.                 this.Surname = Surname;
  23.                 this.Name = Name;
  24.                 this.SecName = SecName;
  25.                 this.Year = Year;
  26.                 this.Position = Position;
  27.                 this.Sallary = Sallary;
  28.                 this.Exp = Exp;
  29.             }
  30.             public int CompareTo(Worker obj)
  31.             {
  32.                 if (this.Exp == obj.Exp)
  33.                 {
  34.                     return 0;
  35.                 }
  36.                 else
  37.                 {
  38.                     if (this.Exp > obj.Exp)
  39.                     {
  40.                         return 1;
  41.                     }
  42.                     else
  43.                     {
  44.                         return -1;
  45.                     }
  46.                 }
  47.             }
  48.  
  49.         }
  50.  
  51.         static Worker[] Input(int n, StreamReader sr) //читаем данные из файла
  52.         {
  53.             Worker[] ar = new Worker[n];
  54.             for (int i = 0; i < n; i++)
  55.             {
  56.                 string[] text = sr.ReadLine().Split(' ');
  57.                 ar[i] = new Worker(text[0], text[1], text[2], int.Parse(text[3]), text[4], int.Parse(text[5]), int.Parse(text[6]));
  58.             }
  59.             return ar;
  60.            
  61.         }
  62.         static void Print(Worker[] array, StreamWriter sw) //выводим данные на экран
  63.         {
  64.             foreach (Worker item in array)
  65.             {
  66.                 {
  67.                     sw.WriteLine("{0} {1} {2}, {3}, {4}, {5}, {6}", item.Surname, item.Name, item.SecName, item.Year, item.Position, item.Sallary, item.Exp);
  68.                 }
  69.             }
  70.         }
  71.         static void Print(List<Worker> array, StreamWriter sw) //выводим данные на экран
  72.         {
  73.             foreach (Worker item in array)
  74.             {
  75.                 {
  76.                     sw.WriteLine("{0} {1} {2}, {3}, {4}, {5}, {6}", item.Surname, item.Name, item.SecName, item.Year, item.Position, item.Sallary, item.Exp);
  77.                 }
  78.             }
  79.         }
  80.         static void Main()
  81.         {
  82.             using (StreamReader sr = new StreamReader("C:/Настя/книит/in.txt"))
  83.             {
  84.                 using (StreamWriter sw = new StreamWriter("C:/Настя/книит/out.txt"))
  85.                 {
  86.                     int n = int.Parse(sr.ReadLine());
  87.                     Worker[] array = Input(n, sr);
  88.                     List<Worker>zpar = new List<Worker>();
  89.                     int zp = int.Parse(sr.ReadLine());
  90.                     for (int i = 0; i < n; i++)
  91.                     {
  92.                         if (array[i].Sallary <= zp)
  93.                         {
  94.                             zpar.Add(array[i]);
  95.                         }
  96.                     }
  97.                     zpar.Sort(delegate(Worker x, Worker y){
  98.                         return x.Exp.CompareTo(y.Exp);
  99.                     });
  100.                     Print(zpar, sw);
  101.                 }
  102.             }
  103.         }
  104.     }
  105. }
  106. 7
  107. Мыльникова Анастасия Сергеевна 2019 менеджер 88888 4
  108. Разинов Матвей Дмитриевич 2022 стажер 50000 1
  109. Стародубцев Иван Денисович 2015 начальник 999999 8
  110. Алексеева Ксения Михайловна 2021 менеджер 77777 2
  111. Ложкова Александра Геннадьевна 2020 заведующий 66000 3
  112. Шилина Ангелина Артуровна 2018 бухгалтер 40000 5
  113. Певнева Лера Александровна 2020 заведующий 66000 3
  114. 88889
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement