Пример #1
0
        public byte SubjectMode(Exam.Subject subject)
        {
            var grouped        = Examinees.GroupBy(r => r.Results[(int)subject]);
            var orderedByCount = grouped.OrderByDescending(r => r.Count());

            return(orderedByCount.First().Key);
        }
Пример #2
0
        public double SubjectMedian(Exam.Subject subject)
        {
            double result;
            var    ordered = Examinees.OrderBy(r => r.Results[(int)subject]);

            if (Examinees.Count % 2 == 0)
            {
                result = (double)ordered.ElementAt(Examinees.Count / 2).Results[(int)subject]
                         + ordered.ElementAt((Examinees.Count / 2) - 1).Results[(int)subject];
                result /= 2;
            }
            else
            {
                result = ordered.ElementAt(Examinees.Count / 2).Results[(int)subject];
            }

            return(result);
        }
Пример #3
0
        public double SubjectMedian(Exam.Subject subject)
        {
            double result;
            var    examinees = Groups.SelectMany(r => r.Examinees);
            var    ordered   = examinees.OrderBy(r => r.Results[(int)subject]);

            if (examinees.Count() % 2 == 0)
            {
                result = (double)ordered.ElementAt(examinees.Count() / 2).Results[(int)subject]
                         + ordered.ElementAt((examinees.Count() / 2) - 1).Results[(int)subject];
                result /= 2;
            }
            else
            {
                result = ordered.ElementAt(examinees.Count() / 2).Results[(int)subject];
            }

            return(result);
        }
Пример #4
0
 public double SubjectAverage(Exam.Subject subject)
 {
     return(Examinees.Average(r => r.Results[(int)subject]));;
 }
Пример #5
0
        public double SubjectAverage(Exam.Subject subject)
        {
            var examinees = Groups.SelectMany(r => r.Examinees);

            return(examinees.Average(r => r.Results[(int)subject]));;
        }