Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Text;
- namespace lab
- {
- class p
- {
- public string gr;
- public double[] marks;
- public double sr;
- public p(string a, double[] b, double c)
- {
- gr = a;
- marks = b;
- sr = c;
- }
- }
- class MainClass
- {
- public static int StringAnalysis(string a)
- {
- int r = 0;
- int h = 0;
- int f = 0;
- while (r < a.Length)
- {
- if (Char.IsDigit(a[r]))
- {
- h++;
- }
- if (a[r] == ' ')
- {
- f = r;
- }
- r++;
- }
- int j = int.Parse(a.Substring(f + 1));
- return j;
- }
- public static double Marks(string a)
- {
- double s = 0;
- for (int i = 0; i < a.Length; i++)
- {
- s += double.Parse(Char.ToString(a[i]));
- }
- s /= a.Length;
- return s;
- }
- public static void Main(string[] args)
- {
- StreamReader s = new StreamReader(@"/Users/mlmisha/Desktop/temp.txt");
- string l = s.ReadLine();
- int gr = StringAnalysis(l);
- Console.WriteLine("Групп: {0}", gr);
- l = s.ReadLine();
- int ex = StringAnalysis(l);
- Console.WriteLine("Экзаменов: {0}", ex);
- string[] sub = new string[ex];
- double[] smar = new double[ex];
- l = s.ReadLine();
- p[] m = new p[gr];
- Console.WriteLine("Предметы:");
- for (int i = 0; i < ex; i++)
- {
- l = s.ReadLine();
- sub[i] = l;
- Console.WriteLine(sub[i]);
- }
- l = s.ReadLine();
- for (int t = 0; t < gr; t++)
- {
- l = s.ReadLine();
- string name = l;
- l = s.ReadLine();
- l = s.ReadLine();
- for (int i = 0; i < ex; i++)
- {
- l = s.ReadLine();
- smar[i] = Marks(l);
- l = s.ReadLine();
- }
- double sr = 0;
- for (int i = 0; i < ex; i++)
- {
- sr += smar[i];
- }
- sr /= ex;
- m[t] = new p(name, smar, sr);
- }
- Console.WriteLine("Промежуточная таблица");
- for (int i = 0; i < gr; i++)
- {
- Console.WriteLine("{0} {1:f1}", m[i].gr, m[i].sr);
- }
- string v = "Да";
- while (v == "Да")
- {
- Console.WriteLine("Сколько групп сравнить между собой?");
- int an = int.Parse(Console.ReadLine());
- if (an <= 1)
- {
- while (an <= 1)
- {
- Console.WriteLine("Тут и сравнивать нечего. Давайте без шуточек...");
- an = int.Parse(Console.ReadLine());
- }
- }
- int[] sd = new int[an];
- Console.WriteLine("Какие группы сравниваем? Через пробел");
- for (int i = 0; i < gr; i++)
- {
- Console.WriteLine("{0}. {1}", i + 1, m[i].gr);
- }
- string[] cv = Console.ReadLine().Split(' ');
- for (int i = 0; i < an; i++)
- {
- sd[i] = int.Parse(cv[i]);
- }
- Console.WriteLine("Сравниваем эти группы...");
- for (int i = 0; i < an; i++)
- {
- Console.WriteLine("{0}", m[sd[i] - 1].gr);
- }
- Console.WriteLine("Анализ таблицы...");
- for (int i = 0; i < an; i++)
- {
- double max = m[sd[i] - 1].sr;
- int id = sd[i] - 1;
- for (int k = i + 1; k < an; k++)
- {
- if (m[sd[k] - 1].sr > max)
- {
- max = m[sd[k] - 1].sr;
- id = k;
- }
- }
- p z;
- z = m[id];
- m[id] = m[sd[i] - 1];
- m[sd[i] - 1] = z;
- }
- Console.WriteLine();
- Console.WriteLine("\t\t Финальная таблица результатов");
- Console.WriteLine();
- Console.Write("Группа ");
- Console.WriteLine("Средний");
- for (int i = 0; i < an; i++)
- {
- Console.Write("{0} {1:f1} ", m[sd[i] - 1].gr, m[sd[i] - 1].sr);
- Console.WriteLine();
- }
- Console.WriteLine();
- Console.WriteLine("Удачи на следующей сессии");
- Console.WriteLine("Еще кого-то сравнить?");
- v = Console.ReadLine();
- s.Close();
- StreamWriter sw = new StreamWriter(@"/Users/mlmisha/Desktop/temp.txt", true);
- sw.WriteLine();
- sw.WriteLine("Список групп в упрорядоченном списке: ");
- for (int i = 0; i<gr; i++)
- {
- sw.WriteLine("{0}.{1} [{2:f1}]", i + 1, m[i].gr, m[i].sr);
- }
- sw.Close();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement