12 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 98
1

Посчитать сколько раз в день встречалась ошибка

02.10.2018, 21:21. Показов 2805. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Запутался с Linq'ом, вобщем есть массив стринг:
12-10-2018 14:00:56 Error "Деление на ноль"
12-10-2018 15:00:56 Error "Неправильный формат данных"
12-10-2018 16:00:56 Error "Деление на ноль"
Нужно посчитать сколько раз в день встречалась ошибка, т.е.:
12-10-2018 "Деление на ноль" : 2
12-10-2018 "Неправильный формат данных" : 1
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2018, 21:21
Ответы с готовыми решениями:

Определить, сколько раз встречалась каждая буква в строке?
Есть число N и N элементов. Элементы они же буквы от A до Z. Необходимо определить сколько раз...

Выяснить, сколько раз она и та же буква встречалась в строке
не успеваю вовремя, помогите умоляю, требуется: Написать программу которая помагает выяснить...

В заданной строке удалить заданную подстроку, сколько бы раз она не встречалась
Ребят, помогите разобраться. Стоит задача создать программу со строками, string.h желательно не...

Вводится N цифр. Выведите сколько раз встречалась на вводе каждая цифра
Не знаю,что написать в цикле. program olimp; var a : array of longint; d: array of...

8
Модератор
Эксперт .NET
15456 / 10703 / 2784
Регистрация: 21.04.2018
Сообщений: 31,516
Записей в блоге: 2
02.10.2018, 21:33 2
Пишу здесь могут быть ошибки.
C#
1
2
3
4
5
6
            
List<int> Rez = СписокОшибок
                .Where(x => x.Contains("Error"))
                .GroupBy(x => x.Remove(0, x.IndexOf("Error" + 7)))
                .Select(x => x.Count())
                .ToList();
Добавлено через 2 минуты
В коде рассчитано на то, что в строке есть подстрока "Error" и после неё идёт название ошибки
0
12 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 98
02.10.2018, 21:34  [ТС] 3
вы немного усложнили, массив содержит исключительно ошибки, тут наверное можно просто рассматривать последний элемент в строке (тот который в ковычках) и List наверное все таки стринговый
0
Модератор
Эксперт .NET
15456 / 10703 / 2784
Регистрация: 21.04.2018
Сообщений: 31,516
Записей в блоге: 2
02.10.2018, 21:41 4
Не посмотрел формат вывода. Надо так
C#
1
2
3
4
5
            List<string> Rez = СписокОшибок
                .Where(x => x.Contains("Error"))
                .GroupBy(x => x.Substring(0,10) + x.Remove(0, x.IndexOf("Error" + 7)))
                .Select(x => x.Key+ " : "+x.Count())
                .ToList();
Добавлено через 1 минуту
Цитата Сообщение от Женя Брянцев Посмотреть сообщение
массив содержит исключительно ошибки,
Там проверка - одна строчка .Where(x => x.Contains("Error")). Лучше лишний раз проверить чем на исключение нарваться.
0
12 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 98
02.10.2018, 21:42  [ТС] 5
C#
1
x.Substring(0, 10) + x.Remove(0, x.IndexOf("Error" + 7)
на это разве не будет ругаться?
0
Модератор
Эксперт .NET
15456 / 10703 / 2784
Регистрация: 21.04.2018
Сообщений: 31,516
Записей в блоге: 2
02.10.2018, 21:42 6
Лучше даже проверку, для исключения случайностей, так сделать
C#
1
                .Where(x => x.Contains("Error") && x.Length > 25)
0
12 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 98
02.10.2018, 21:43  [ТС] 7
и как тут ошибка соотносится с датой, предполагается что даты могут быть разные.
0
Модератор
Эксперт .NET
15456 / 10703 / 2784
Регистрация: 21.04.2018
Сообщений: 31,516
Записей в блоге: 2
02.10.2018, 21:44 8
Цитата Сообщение от Женя Брянцев Посмотреть сообщение
на это разве не будет ругаться?
Выражение для ключа группы. Составляется из первых 10 символов строки и остатка строки после подстроки "Error".
Что Вас смущает?

Добавлено через 23 секунды
Разные даты попадут в разные группы.
0
Администратор
Эксперт .NET
16988 / 13348 / 5208
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
02.10.2018, 21:54 9
Лучший ответ Сообщение было отмечено Женя Брянцев как решение

Решение

Женя Брянцев,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
string[] arr = {
    "12-10-2018 14:00:56 Error \"Деление на ноль\"",
    "12-10-2018 15:00:56 Error \"Неправильный формат данных\"",
    "12-10-2018 16:00:56 Error \"Деление на ноль\"",
};
 
            
var result = arr
                .Select(s => s.Split(new[]{' '}, 4))
                .GroupBy(parts => parts[0] + " " + parts[3])
                .Select(grp => new { DateAndText = grp.Key, Count = grp.Count() });
foreach (var item in result)
{
    Console.WriteLine(item.DateAndText + ": " + item.Count);
}
2
02.10.2018, 21:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2018, 21:54
Помогаю со студенческими работами здесь

В заданном массиве чисел удалить заданную последовательность, сколько бы раз она не встречалась
Помогите пожалуйста! Нужно в заданном массиве чисел удалить заданную последовательность чисел,...

Сколько раз день рождения придётся на тот же самый день недели в течение 200 лет?
цикл по количеству лет. Допустим, нам надо узнать, сколько раз наш день рождения придётся на тот же...

Сколько раз за этот день Буратино соврал?
Каждый раз, когда Буратино врет, его нос удлиняется на D см, а если он говорит правду —...

Посчитать сколько раз появляются таблички
Мальчики помогите пожалуйста! есть программа с отображаемыми объектами, за ними закреплены...


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

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

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