Advertisement
Tvor0zhok

СиАКОД 15.2

Apr 1st, 2022 (edited)
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.05 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 =
  74.                 from st in students
  75.                 group st by st.schoolID into Groups
  76.                 select Groups;
  77.  
  78.             Print("C:/Users/contest.W12-414-09/Desktop/СиАКОД/Задание 15/output2.txt", query);
  79.         }
  80.     };
  81. }
  82.  
  83. /* input2.txt
  84. 10
  85. Маслов Кирилл Владимирович 2001 Адрес1 75
  86. Киселева Анастасия Григорьевна 2002 Адрес2 75
  87. Крофимова Арина Арсеньевна 2003 Адрес3 94
  88. Трифонова Екатерина Михайловна 2002 Адрес4 41
  89. Попов Владислав Константинович 2002 Адрес5 36
  90. Ильина Варвара Степановна 2002 Адрес6 36
  91. Шульгина Алиса Ивановна 2002 Адрес7 45
  92. Белова Вероника Максимовна 2001 Адрес8 34
  93. Филиппов Владислав Иванович 2002 Адрес9 36
  94. Спиридонова Екатерина Александровна 2003 Адрес10 94
  95. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement