Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 06.02.2015
Сообщений: 33
1

Нахождения среднего значения

07.02.2015, 21:39. Показов 854. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, вопрос такой
На реалити-шоу для музыкальных исполнителей 2 судьи оценивают ежедневно работу и выступления каждого участника, при этом они фиксируют свои оценки в специальный блокнот вручную. Они заносят три значения: количество баллов, которое необходимо снять с участника за ошибки, общую оценку работы за день и свой логин. Чтобы подвести итоги очередного этапа конкурса, судьи сводят все свои наблюдения в один отчет, но в их блокнотах очень много записей, поэтому они хотели бы иметь приложение, которое будет автоматически записывать результаты.
Проблема в том, что в записях, несмотря на тщательность заполнения, имеются ошибки: значения штрафных баллов за ошибки и общая оценка перепутаны местами. Это необходимо учитывать в логике программы.
На входе программы текстовый файл с тремя столбиками, значение количества штрафных баллов всегда отрицательное (не 0). Результат работы – целое среднее значение штрафных баллов, сумма оценок и логин допустившего наибольшее количество ошибок судьи.

проверьте пожалуйста правильно ли работает код
вот код который я делал:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public interface IStep
        {
            void Do(TextWriter writer);
        }
        static void Main(string[] args)
        {
            IStep step = new Step9();
            step.Do(Console.Out);
            Console.WriteLine("ok.");
            Console.ReadKey();
 
        }
 
        public class Step9 : IStep
        {
            class Line
            {
                public int Fine;
                public int Mark;
                public string Name;
                public bool WasError;
            }
 
            List<Line> lines = new List<Line>();
 
            public void Do(TextWriter writer)
            {
                var text = File.ReadAllText("45.txt");
                foreach (string str in text.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries))
                    lines.Add(parse(str));
 
                var avgFine = lines.Average(a => a.Fine);
                var sumMark = lines.Sum(a => a.Mark);
                var name = lines.GroupBy(a => a.Name)
                    .Select(a => new { name = a.Key, errors = a.Where(b => b.WasError).Count() })
                    .OrderByDescending(a => a.errors)
                    .First()
                    .name;
 
                string msg = string.Format("{0:F0} {1} {2}", avgFine, sumMark, name);
 
                writer.WriteLine(msg);
            }
 
            private Line parse(string str)
            {
                string[] line = str.Split(' ');
                var result = new Line() { Name = line[2] };
                int val1 = int.Parse(line[0]);
                int val2 = int.Parse(line[1]);
 
                if (val2 < 0)
                {
                    result.Fine = val2;
                    result.Mark = val1;
                    result.WasError = true;
                }
                else
                {
                    result.Fine = val1;
                    result.Mark = val2;
                }
                return result;
            }
        }
Вот текст
Вложения
Тип файла: txt 45.txt (1.5 Кб, 6 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2015, 21:39
Ответы с готовыми решениями:

Функция для нахождения среднего арифметического пяти чисел типа FLOAT
Написать программу, которая использует функцию для нахождения среднего арифметического пяти чисел...

Алгоритм нахождения среднего значения
Здравствуйте, помогите написать алгоритм нахождения среднего значения между числами, которые...

Функция для нахождения среднего значения
Скажите пожалуйста, что у меня тут неправильно... я знаю что много чего, скажите что исправить,...

Ошибка в функции нахождения среднего значения элементов массива
Выводит какое-то страшное отрицательное среднее значение #define size 100 #include &lt;stdio.h&gt; void...

1
Эксперт .NETАвтор FAQ
10410 / 5140 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
07.02.2015, 22:41 2
Да вроде бы все хорошо.
0
07.02.2015, 22:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2015, 22:41
Помогаю со студенческими работами здесь

Функция нахождения среднего значения двумерного динамического массива
Помогите пожалуйста!Нужно составить функцию которая будет находить среднее значение элементов...

Разработать программу нахождения среднего значения ненулевых чисел в массиве
Разработать программу нахождения среднего значения ненулевых чисел в массиве произвольных 10 цифр....

Написать циклическую программу нахождения среднего арифметического значения векторов
Такой вопрос у меня есть задание в котором написано следующее, составить и испытать циклическую...

Подпрограмма нахождения среднего арифметического значения элементов вектора и её использование
Здравствуйте. Прошу помочь с решением задачи: Составить подпрограмму вычисления среднего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru