Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 12.12.2016
Сообщений: 19
1

Дана строка формата «Предмет: Фамилия_студента1, Оценка, Фамилия_студента2, Оценка, …»

15.12.2016, 22:08. Просмотров 1000. Ответов 1
Метки нет (Все метки)

Дана строка формата «Предмет: Фамилия_студента1, Оценка, Фамилия_студента2, Оценка, …». По каждому предмету такие строки занесены в массив. Напишите метод формирования массива, содержащего строки формата «Предмет: 70%, 100%» со значениями абсолютной и качественной успеваемости в процентах, соответственно, по каждому предмету.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2016, 22:08
Ответы с готовыми решениями:

Создать запись «Студент» с полями: «Имя» (строка), «Предмет» (строка), «Оценка» (целое число). Имена студентов
Создать запись «Студент» с полями: «Имя» (строка), «Предмет» (строка), «Оценка» (целое число)....

PHP работа с файлами(номер/фио/оцена/оценка/оценка)
помогите переделать задачку, сейчас она берет из файла вида (фамилия имя; оценка) данные и...

Средняя оценка студ выше чем сред оценка группы
Здравствуйте:) Нужна помощь в задании:Вывести Select Студент.Фамилия,??* AS Ср_оц_Студ,...

Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре - оценка по физике - средний балл
Задание такое Список учеников имеет следующую структуру: фамилия – класс - оценка по алгебре -...

1
Злой няш
1618 / 1258 / 433
Регистрация: 05.04.2010
Сообщений: 2,258
15.12.2016, 23:29 2
Лучший ответ Сообщение было отмечено St9m как решение

Решение

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
private static void Main()
{
    string[] subjects =
    {
        "Math: A, 1, B, 2, C, 3, D, 4, E, 5",
        "Chem: A, 3, B, 3, C, 3, D, 4"
    };
 
    List<Tuple<string, double[]>> result = CalcStat(subjects);
    foreach (Tuple<string, double[]> tuple in result)
    {
        Console.WriteLine("{0}: {1}", tuple.Item1, string.Join(", ", tuple.Item2.Select(x => $"{x:P0}")));
    }
}
 
private static List<Tuple<string, double[]>> CalcStat(IEnumerable<string> subjects)
{
    return (from subject in subjects
        let index = subject.IndexOf(':')
        let name = subject.Substring(0, index)
        let marks = subject.Substring(index).Split(',').Where((x, i) => i % 2 == 1).Select(int.Parse).ToArray()
        select new Tuple<string, double[]>(name, new[]
        {
            (double)marks.Count(x => x >= 3 && x <= 5) / marks.Length,
            (double)marks.Count(x => x == 4 || x == 5) / marks.Length
        })).ToList();
}
Добавлено через 3 минуты
Если принципиально нужны строки:
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
private static void Main()
{
    string[] subjects =
    {
        "Math: A, 1, B, 2, C, 3, D, 4, E, 5",
        "Chem: A, 3, B, 3, C, 3, D, 4"
    };
 
    string[] result = CalcStat(subjects);
    Array.ForEach(result, Console.WriteLine);
}
 
private static string[] CalcStat(IEnumerable<string> subjects)
{
    return (from subject in subjects
        let index = subject.IndexOf(':')
        let name = subject.Substring(0, index)
        let marks = subject.Substring(index).Split(',').Where((x, i) => i % 2 == 1).Select(int.Parse).ToArray()
        select new Tuple<string, double[]>(name, new[]
        {
            (double)marks.Count(x => x >= 3 && x <= 5) / marks.Length,
            (double)marks.Count(x => x == 4 || x == 5) / marks.Length
        })).Select(tuple => $"{tuple.Item1}: {string.Join(", ", tuple.Item2.Select(x => $"{x:P0}"))}").ToArray();
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2016, 23:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Фамилия ученика,рост,оценка за 3 занятия. а) средняя оценка по каждому предмету общего класса б) самая длинная и самая
Фамилия ученика,рост,оценка за 3 занятия. а) средняя оценка по каждому предмету общего класса б)...

Оценка ученика (Оценка)
Всем привет, нужна помощь с следующим заданием: Ученику предлагается решить некоторые...

Оценка ПК
Здравствуйте ! Прошу оценить старушку Процессор Intel Core i5 4460 @ 3.20GHz Блок питания...

Оценка S.M.A.R.T
Здравствуйте! Оцените, пожалуйста, СМАРТ. Кроме, пендингов выявляются какие-либо проблемы?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.