zhivko1985

Average Grades

Apr 1st, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.60 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _4.Average_Grades
  8. {
  9.     public class Student
  10.     {
  11.         public string name { get; set; }
  12.         public List<double> grades { get; set;}
  13.         public double averageGrade { get; set; }
  14.     }
  15.     class Program
  16.     {
  17.         static void Main(string[] args)
  18.         {
  19.             var n = int.Parse(Console.ReadLine());
  20.             var listStudents = new List<Student>();
  21.             for (int i = 0; i < n; i++)
  22.             {
  23.                 listStudents.Add(new Student());
  24.             }
  25.  
  26.             for (int i = 0; i < n; i++)
  27.             {
  28.                 var input = Console.ReadLine().Split().ToArray();
  29.  
  30.                 listStudents[i].name = input[0];
  31.                 listStudents[i].grades = new List<double>();
  32.                 for (int f = 1; f < input.Length; f++)
  33.                 {
  34.                     listStudents[i].grades.Add(double.Parse(input[f]));
  35.                 }
  36.                 listStudents[i].averageGrade = listStudents[i].grades.Average();
  37.             }
  38.             List<Student> exellentGrades = new List<Student>();
  39.             foreach (var item in listStudents)
  40.             {
  41.                 if (item.averageGrade>=5)
  42.                 {
  43.                     exellentGrades.Add(item);
  44.                 }
  45.             }
  46.             foreach (var item in exellentGrades.OrderBy(x=>x.name).ThenBy(x=>-x.averageGrade))
  47.             {
  48.                 Console.WriteLine("{0} -> {1:f2}",item.name,item.averageGrade);
  49.             }
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment