|
5 / 5 / 1
Регистрация: 03.05.2015
Сообщений: 14
|
||||||
Переделка англо-латинского словаря в латинско-английский01.02.2016, 13:20. Показов 18684. Ответов 8
Метки нет (Все метки)
Здравствуйте, уважаемые участники форума. Мне нужна ваша помощь вот по какой задаче с образовательного сайта:
Однажды, разбирая старые книги на чердаке, школьник Вася нашёл англо-латинский словарь. Английский он к тому времени знал в совершенстве, и его мечтой было изучить латынь. Поэтому попавшийся словарь был как раз кстати. К сожалению, для полноценного изучения языка недостаточно только одного словаря: кроме англо-латинского необходим латинско-английский. За неимением лучшего он решил сделать второй словарь из первого. Как известно, словарь состоит из переводимых слов, к каждому из которых приводится несколько слов-переводов. Для каждого латинского слова, встречающегося где-либо в словаре, Вася предлагает найти все его переводы (то есть все английские слова, для которых наше латинское встречалось в его списке переводов), и считать их и только их переводами этого латинского слова. Помогите Васе выполнить работу по созданию латинско-английского словаря из англо-латинского. Входные данные В первой строке содержится единственное целое число N — количество английских слов в словаре. Далее следует N описаний. Каждое описание содержится в отдельной строке, в которой записано сначала английское слово, затем отделённый пробелами дефис (символ номер 45), затем разделённые запятыми с пробелами переводы этого английского слова на латинский. Переводы отсортированы в лексикографическом порядке. Порядок следования английских слов в словаре также лексикографический. Все слова состоят только из маленьких латинских букв, длина каждого слова не превосходит 15 символов. Общее количество слов на входе не превышает 100000. Выходные данные Выведите соответствующий данному латинско-английский словарь, в точности соблюдая формат входных данных. В частности, первым должен идти перевод лексикографически минимального латинского слова, далее — второго в этом порядке и т.д. Внутри перевода английские слова должны быть также отсортированы лексикографически. Sample Input: 3 apple - malum, pomum, popula fruit - baca, bacca, popum punishment - malum, multa Sample Output: 7 baca - fruit bacca - fruit malum - apple, punishment multa - punishment pomum - apple popula - apple popum - fruit Я эту задачу решал так: 1)Закинул вводимые слова с переводами в множество set <string> vvod 2)Затем составил множество переводов всех слов set <string> perevody, куда просто кидал набор переводов каждого слова 3)И, наконец создал map <string, vector <string>> otvet, куда добавлял для очередного элемента множества perevody слова, которым они соответствуют. Вот код:
0
|
||||||
| 01.02.2016, 13:20 | |
|
Ответы с готовыми решениями:
8
Англо-Латинский и Латинско-Английский словарь Переделка англо-латинского словаря Создание обратного словаря (из англо-латыньского латыно-английский) |
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 01.02.2016, 14:00 | |
|
Можно сразу пихать все в multimap<string, string>. Можно даже в map<string, string>.
0
|
|
|
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
|
||||||
| 01.02.2016, 15:06 | ||||||
Сообщение было отмечено Виктор9696 как решение
Решение
можно входные данные представить как орграф и в нем нам нужно развернуть все ребра
3
|
||||||
|
5 / 5 / 1
Регистрация: 03.05.2015
Сообщений: 14
|
|
| 01.02.2016, 23:09 [ТС] | |
|
Спасибо большое! Выручили. Такой краткости мне достичь не удавалось. Теперь полдня буду разбираться с 13-18 строками вашего кода
0
|
|
|
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
|
||
| 01.02.2016, 23:47 | ||
|
Виктор9696, это банальный парсинг строки 13,14 вырезаем apple , теперь во where у нас apple
затем пропускаем три символа ,это пробел тире пробел 17,18 вырезаем malum,затем пропускаем запятую (а пробел у нас пропустит новая итерация for) , теперь в need лежит malum , потом вырезаем pomum , и так пока не подойдем к концу строки
0
|
||
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 72
|
|
| 28.07.2016, 21:43 | |
|
Dimension, скажите, пожалуйста, почему там в 14 строчке запятая, а не точка с запятой?
тут while(isalpha(a[j])) where+=a[j], j++;
0
|
|
|
0 / 0 / 0
Регистрация: 17.05.2016
Сообщений: 58
|
|
| 06.08.2017, 21:14 | |
|
Dimension, расскажите пожалуйста, что делает в 8 строке cin.get(); ?
0
|
|
|
187 / 54 / 19
Регистрация: 23.12.2016
Сообщений: 167
|
|||||||
| 06.08.2017, 22:41 | |||||||
0
|
|||||||
| 06.08.2017, 22:41 | |
|
Помогаю со студенческими работами здесь
9
Создание англо-русского словаря Создание англо-русского словаря [Словарь] Англо-Русский и Русско-Английский Русско-английский и англо-русский словарь Написать переводчик англо-русский и русско-английский Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|