2 / 2 / 0
Регистрация: 14.04.2017
Сообщений: 7
|
|
Clojure Прочитать список CDR-записей из стандартного потока ввода и определить, суммарная длительность всех исходящих14.04.2017, 20:26. Показов 3703. Ответов 5
Дана информация о телефонных разговорах сотрудников некоторой компании в виде списка CDR-записей (Call Detail Record). Каждая запись представляет собой строку, содержащую сведения об одном звонке. Формат записи следующий: "Номер-А;Номер-Б;Длительность-разговора". "Номер А" – это номер вызывающего абонента (то есть номер того, кто звонил), "Номер Б" – номер вызываемого абонента (то есть кому звонили), "Длительность-разговора" - длительность разговорного состояния в секундах. Разделитель полей – точка с запятой ';', между полей могут присутствовать пробелы (но не внутри полей). Записи другого формата считать некорректными и игнорировать.
Внутренние номера сотрудников компании – четырехзначные и начинаются с единицы, например, "1101", "1299" и т.д. Внешние номера записаны в соответствии с общим международным телекоммуникационным планом нумерации E.164, то есть начинаются с символа '+', за которым следует не более 15 цифр: код страны и телефонный номер, например "+78129991316" (7 - Россия, 812 - Санкт-Петербург, 999-13-16 – номер) или "+3314562024112" (33 - Франция, 1 - Париж, 45 62 02 41 12 - номер). Необходимо прочитать список CDR-записей из стандартного потока ввода и определить, суммарная длительность всех исходящих звонков в Германию (код страны 49) и Италию (код страны 39) кого из сотрудников компании (то есть с какого внутреннего номера) была максимальной. В стандартный поток вывода записать внутренний номер сотрудника. Пример: Дан список CDR-записей ("1101;+79119989911;122" "+49231114563;1102;347" "1101;+420023334521;134" "1102;+49023334521;811" "ERR01:1234;;;0;0" "1101;+390145211212;93" "1101;+49023334521;756"). Длительность всех исходящих звонков абонента 1101 в Германию и Италию больше, чем у абонента 1102. В стандартный поток вывода необходимо записать номер 1101 (без кавычек или иных знаков). Примечание: Настоящие CDR-записи, которые можно получить от настоящих телефонных станций, несут гораздо больше информации и не содержат приведенных к E.164 номеров, а содержат либо точную последовательность цифр, набранных на аппарате абонента, либо АОН, пришедший из ТФОП.
1
|
14.04.2017, 20:26 | |
Ответы с готовыми решениями:
5
Считывание из стандартного потока ввода
|
Супер-модератор
![]() ![]() ![]() |
||||||
14.04.2017, 20:38 | ||||||
Не слишком рационально, но работает:
1
|
2 / 2 / 0
Регистрация: 14.04.2017
Сообщений: 7
|
||||||
14.04.2017, 21:20 [ТС] | ||||||
0
|
Супер-модератор
![]() ![]() ![]() |
||||||
15.04.2017, 06:14 | ||||||
Это не ошибка, а неточность. Добавь описание:
0
|
Модератор
![]() 3100 / 2249 / 466
Регистрация: 26.03.2015
Сообщений: 8,778
|
||||||
20.04.2017, 17:12 | ||||||
![]() Решение
Clojure:
2 готовим коллекцию префиксов для фильтрации 4 выделяем из CDR-записей данные (номер абонента, телефон и время) 5 оставляем те, в которых телефон начинается с заданных префиксов 6 группируем по номеру абонента 8 вычисляем сумму секунд для каждого абонента 9 находим абонента с максимальной суммой http://ideone.com/NmOc1y
1
|
20.04.2017, 17:12 | |
Помогаю со студенческими работами здесь
6
Перегрузка стандартного потока ввода
Как прочитать длинное число из стандартного ввода?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
|
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
|
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
|
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|