Как написать запрос LinQ?

232
03 мая 2018, 06:46

Дана строка S — название одного из трех предметов: алгебры, геометрии или информатики. Исходная последовательность содержит сведения об оценках учащихся по этим трем предметам. Каждый элемент последовательности содержит данные об одной оценке и включает следующие поля:

<Название предмета> <Фамилия> <Инициалы> <Оценка> <Класс>

Полных однофамильцев (с совпадающей фамилией и инициалами) среди учащихся нет. Класс задается целым числом, оценка — целое число в диапазоне 2–5. Название предмета указывается с заглавной буквы.

Для каждого класса, присутствующего в наборе исходных данных, определить число учащихся, имеющих по предмету S среднюю оценку не менее 3.5 и при этом не получивших ни одной двойки по этому предмету. Сведения о каждом классе выводить на отдельной строке, указывая номер класса и число найденных учащихся (число может быть равно 0). Данные упорядочивать по возрастанию номера класса.

Как написать условие для определения числа учащихся, имеющих по предмету S среднюю оценку не менее 3.5 и при этом не получивших ни одной двойки по этому предмету?

class Student
    {
        public string Subject { get; set; }
        public string Surname { get; set; }
        public string Initial { get; set; }
        public int Mark { get; set; }
        public int Class { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var students = new List<Student>();
            students.Add(new Student { Subject = "Геометрия", Surname = "Васильев", Initial = "М. В.", Mark = 5, Class = 6 });
            students.Add(new Student { Subject = "Алгебра", Surname = "Титов", Initial = "М. В.", Mark = 5, Class = 4 });
            var subj = Console.ReadLine();
            var result = students
                .Where(x => x.Subject == subj)
                .Where(x => x.Mark > 2)
                .GroupBy(x => x.Class, (clas, student) => new { clas, count = student.Count() });
        }
    }
READ ALSO
C# - Отменить закрытие WebBrowser перехватом WM_DESTROY или WM_CLOSE

C# - Отменить закрытие WebBrowser перехватом WM_DESTROY или WM_CLOSE

У меня есть форма с экземпляром WebBrowser на нейВ него загружается страница сайта, на которой есть ссылка вида '<a onClick="self

226
Связь между UseControl

Связь между UseControl

Доброе утро, вечер, деньМой вопрос заключается в том, как связать эллипсы на разных Usecontrol

211
LINQ Запрос по Dictionary с битовой маской

LINQ Запрос по Dictionary с битовой маской

Помогите, пожалуйста, решить задачкуДано:

215
Как выполнять task в отдельном потоке?

Как выполнять task в отдельном потоке?

Есть метод, который читает журнал событий:

194