Advertisement
Infiniti_Inter

new paste

Dec 1st, 2019
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.17 KB | None | 0 0
  1. //На основе данных входного файла составить автомобильную ведомость,
  2. //включив следующие данные: марка автомобиля, номер автомобиля, фамилия его владельца,
  3. //год приобретения, пробег. Вывести в новый файл информацию об автомобилях,
  4. //выпущенных в текущем году, отсортировав их по марке автомобиля.
  5.  
  6. using System;
  7. using System.IO;
  8. using System.Linq;
  9. using System.Collections.Generic;
  10. using System.Text;
  11. namespace Example
  12. {
  13.  
  14.     struct Transport : IComparable<Transport>
  15.     {
  16.         public string Marka;
  17.         string Number;
  18.         string Famil;
  19.         int Year;
  20.         int Probeg;
  21.  
  22.         public Transport(string Marka, string Number, string Famil, int Year, int Probeg)
  23.         {
  24.             this.Marka = Marka;
  25.             this.Number = Number;
  26.             this.Famil = Famil;
  27.             this.Year = Year;
  28.             this.Probeg = Probeg;
  29.         }
  30.         public void Write(int k, StreamWriter file)
  31.         {
  32.             if (k >= this.Year)
  33.                 file.WriteLine(this);
  34.         }
  35.         public override string ToString() //Преобразование ToString()
  36.         {
  37.             return "" + Marka + " " + Number + " " + Famil + " " + Year.ToString() + " " + Probeg.ToString() + "";
  38.         }
  39.  
  40.         public bool isNew(int currentYear)
  41.         {
  42.             return this.Year == currentYear;
  43.         }
  44.  
  45.  
  46.  
  47.         public int CompareTo(Transport b) // сортировка
  48.         {
  49.             return this.Marka.CompareTo(b.Marka);
  50.         }
  51.     }
  52.  
  53.  
  54.     class Program
  55.     {
  56.  
  57.  
  58.         static void Main()
  59.         {
  60.             string[] inpLine = null;
  61.             using (StreamReader inFile = new StreamReader("C:/Users/karpenkoos/Desktop/input.txt", Encoding.Default))
  62.             {
  63.                 inpLine = inFile.ReadToEnd().Split('\n');
  64.             }
  65.  
  66.             Transport[] trans = new Transport[inpLine.Length];
  67.             for (int i = 0; i < inpLine.Length; i++)
  68.             {
  69.                 string[] s = inpLine[i].Split();
  70.                 trans[i] = new Transport(s[0], s[1], s[2], Convert.ToInt32(s[3]), Convert.ToInt32(s[4]));
  71.             }
  72.             int currentYear = 2000;
  73.             var res = trans.OrderBy(x => x.Marka).Where(x => x.isNew(currentYear));
  74.          
  75.             using (StreamWriter fileOut = new StreamWriter("C:/Users/karpenkoos/Desktop/output.txt"))
  76.             {
  77.                 foreach (var v in res)
  78.                     fileOut.WriteLine(v);
  79.             }
  80.  
  81.         }
  82.     }
  83. }
  84. /*BMW 999 Пастушенко 1999 6098701
  85. MERCEDES 631 Маринов 2000 7000904
  86. AUDI 552О Пахомов 2019 956789
  87. SKODA 777 Ларченко 2003 10000345
  88. TOYOTA 778 Ларкин 1998 89087655
  89. SUZUKI 671 Пучин 2001 76589012
  90. BENTLEY 444 Лискин 2019 345678
  91. CHEVROLET 657 Аблеева 1994 367891044
  92. FORD 890 Ивкина 1999 456890222
  93. HYUNDAI 889 Попов 2019 3456789
  94. LADA 009 Орлов 2017 567894
  95. SUBARU 999 Юрченко 2019 679333*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement