Advertisement
Tvor0zhok

СиАКОД 16.2

Apr 3rd, 2022 (edited)
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.96 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Collections.Generic;
  5.  
  6. namespace ConsoleApp1
  7. {
  8.     struct Student
  9.     {
  10.         public string fio, address;
  11.         public int year, schoolID;
  12.  
  13.         public Student(string fio, int year, string address, int schoolID)
  14.         {
  15.             this.fio = fio;
  16.             this.year = year;
  17.             this.address = address;
  18.             this.schoolID = schoolID;
  19.         }
  20.  
  21.         public void Show(StreamWriter file)
  22.         {
  23.             file.WriteLine("{0, -40}{1, -5}{2, -50}", fio, year, address);
  24.         }
  25.     }
  26.  
  27.     class Program
  28.     {
  29.         static Student[] Input(string fileName)
  30.         {
  31.             using (StreamReader file = new StreamReader(fileName))
  32.             {
  33.                 int n = int.Parse(file.ReadLine());
  34.                 Student[] students = new Student[n];
  35.  
  36.                 for (int i = 0; i < n; ++i)
  37.                 {
  38.                     string[] cur = file.ReadLine().Split(' ');
  39.  
  40.                     string f = cur[0], name = cur[1], o = cur[2], fio = f + " " + name + " " + o;
  41.  
  42.                     int year = int.Parse(cur[3]);
  43.  
  44.                     string address = cur[4];
  45.  
  46.                     int schoolID = int.Parse(cur[5]);
  47.  
  48.                     students[i] = new Student(fio, year, address, schoolID);
  49.                 }
  50.  
  51.                 return students;
  52.             }
  53.         }
  54.  
  55.         static void Print(string fileName, IEnumerable<IGrouping<int, Student>> query)
  56.         {
  57.             using (StreamWriter file = new StreamWriter(fileName))
  58.             {
  59.                 foreach (var gr in query)
  60.                 {
  61.                     file.WriteLine("Учились в школе №{0}:", gr.Key);
  62.  
  63.                     foreach (var st in gr)
  64.                         st.Show(file);
  65.                 }
  66.             }
  67.         }
  68.  
  69.         static void Main()
  70.         {
  71.             Student[] students = Input("C:/Users/contest.W12-414-09/Desktop/СиАКОД/Задание 15/input2.txt");
  72.  
  73.             var query = students.GroupBy(st => st.schoolID);
  74.  
  75.             Print("C:/Users/contest.W12-414-09/Desktop/СиАКОД/Задание 15/output2.txt", query);
  76.         }
  77.     };
  78. }
  79.  
  80. /* input2.txt
  81. 10
  82. Маслов Кирилл Владимирович 2001 Адрес1 75
  83. Киселева Анастасия Григорьевна 2002 Адрес2 75
  84. Крофимова Арина Арсеньевна 2003 Адрес3 94
  85. Трифонова Екатерина Михайловна 2002 Адрес4 41
  86. Попов Владислав Константинович 2002 Адрес5 36
  87. Ильина Варвара Степановна 2002 Адрес6 36
  88. Шульгина Алиса Ивановна 2002 Адрес7 45
  89. Белова Вероника Максимовна 2001 Адрес8 34
  90. Филиппов Владислав Иванович 2002 Адрес9 36
  91. Спиридонова Екатерина Александровна 2003 Адрес10 94
  92. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement