8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
1

Разработать программу, которая подсчитывает количество однокоренных слов

02.09.2009, 11:14. Показов 4687. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, разработать программу, которая анализирует файл и подсчитывает количество слов, объединяя статистику для однокоренных слов, модифицированных с помощью окончаний.

Например, должны считаться одним словом следующие варианты:
диск, диска, диски
стоял, стояла, стояли
красивый, красивая, красивые

Анализируемый файл - текстовый файл, который отсортирован в алфавитном порядке и содержит строки формата:
<слово><пробел><количество вхождений>

Формат файла статистики
<слово>, <слово>, ..., <слово> : <количество вхождений>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.09.2009, 11:14
Ответы с готовыми решениями:

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

Разработать программу, которая подсчитывает число слов в текстовом файле и собирает статистику
Разработайте программу, которая подсчитывает число слов в текстовом файле и собирает статистику...

Написать программу, которая подсчитывает количество слов в предложении.
вот задача . Предложение состоит из слов-строк. Написать программу, которая подсчитывает количество...

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

15
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
02.09.2009, 11:58 2
Анализируемый файл - текстовый файл, который отсортирован в алфавитном порядке и содержит строки формата:
<слово><пробел><количество вхождений>
Количество вхождений чего?
Также непонятно и с файлом статистики, и в чем тут вообще статистика? Приведите просто реальный пример исходного и результирующего файлов, приближенных к действительности, может что-то и понятно будет.
А вообще, это примерно так. Читаем первое слово-корень, затем ищем слова по типу
if copy(s,1,length(корень))=корень then лалала
0
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
02.09.2009, 12:36 3

Не по теме:

и почему у меня небыло интернета когда надо было в универе курсовые делать?(((


а вообще если на то пошло, то нам нужен еще и фаил(как бы его обозвать поинтересний?) -кореневик что-ли? ну типа он будет иметь в сибе сеты(игровое) однокоренных слов типа етих:
Цитата Сообщение от orienteer Посмотреть сообщение
диск, диска, диски
стоял, стояла, стояли
красивый, красивая, красивые
хмм... за основу можно взять програмку словаря от Мамедова(в поиске должно быть) там какраз про поиск и перебор есть(конечно оно очень отдаленное но уже начало...)
алгоритм может быть наподобе: есть 3 файла:
1)с корнями
2)с текстом
3)вывод(статистика?)
теперь берем 2, ищем слово(ну там до пробела чтоли), терь ето слово серфим в 1, совпадение? ок пишем его в статистику, терь ищим второе слово в 2 и повторяем... и так до конца файла 2, записали результат в 3. впринцыпе оно долгое и грубое но метод)
как второй вариант можно делать так:
текст временно перенести в темповый файл и уже в нем окаянствовать по такой схеме:
ищем слово в 2 сверяем его в 1, есть? ок, теперь ищем по 2 все "ето" слово и его модификации, найдем счетчику +1 слово вытерли и погнали дальше дошли до конца - записали результат в 3.
ну етот по моему лучче)
еще вариант тупой поиск по 2 слов из 1 с подсчетом и выводом в 3 - ето самый простой но и самый грубый метод... вобщем вариантов выше крыше... выбирайте и пробуйте) уточняйте непонятное)
1
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
02.09.2009, 12:37  [ТС] 4
Количество вхождений это количество однокоренных слов
На вход программы идет файл, например такой:
диск 1
диска 1
диски 1
стоял 2
стояла 1
красивый 1
красивая 1
красивые 2
Результат:
диск, диска, диски: 3
стоял, стояла: 3
красивый, красивая, красивые: 4
0
9 / 9 / 0
Регистрация: 31.08.2009
Сообщений: 95
02.09.2009, 12:52 5
В паскале есть такая строковая функция блин вроде POS что ли она возвращает true если строка А входит в строку В , если есть книжка по паскалю посмотри, если нет в справке посмотри

Добавлено через 2 минуты
там у нее три параметра вроде (память пропил что ли не помню ), 2 строковых т. е. 2 строки которые сравниваешь, и еще целочисленный
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
02.09.2009, 13:27 6
там у нее три параметра вроде
На один ошибся Pos(subst,str);
И вообще думаю что у товарища проблемы посерьезнее чем pos. Ему надо сначала точно определиться, что он хочет. Вообще непонятно что это - однокоренных слов, модифицированных с помощью окончаний. Например в слове красивый корень крас, но нужно искать не корень, а все что до окончания чтоб было одинаково, корень + суффикс, потому что например однокоренные слова краса и красивый модифицированы не только с помощью окончаний.
1
9 / 9 / 0
Регистрация: 31.08.2009
Сообщений: 95
02.09.2009, 13:33 7
НУ говорю память отшибло немного, поэтому за лечение тебе такого рода болезни -пасибо
0
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
02.09.2009, 20:43  [ТС] 8
Надо слова, которые различаются только по окончанию. Т.е. нужно чтобы все было одинаково кроме окончания
0
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
02.09.2009, 21:40 9
окончание не всегда стоит в конце слова, есть такой суффикс -ся(-сь) который стоит после окончания...
отсюда вопрос:как определить окончание в слове "лось" тем же алгоритмом что и в слове "борюсь"
0
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
03.09.2009, 20:30  [ТС] 10
Помогите плз хотя бы только для таких слов:
диск, диска, диски
стоял, стояла, стояли
красивый, красивая, красивые (различные только окончания)
А в других вариантах я уж сам разберусь
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
04.09.2009, 11:44 11
Тяжело правильно написать.
Нужен алгоритм разбиения слова на части - корень+суффикс, окончание.
При наличии такого алгоритма 99% слов будут обработы верно.
Остальные - это слова-исключения.

Можно конечно просто набить все варианты окончаний и считать что все остальное - это корень+суффикс, но криво это - ошибок будет больше.

Вообщем требуются некоторые лингвистические познания
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 3
04.09.2009, 14:10 12
odip, напишите на icq: 101-707-7, обсудим (напишем на делфи все как надо)
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
04.09.2009, 18:56 13
У меня нету icq
Пиши сюда

Добавлено через 2 минуты
2orienteer: а вообще это для чего нужно ?
Это тестовая задача или реальная ?
Если текстовая - то можно не париться.
А если реальная, то можно использовать что-нибудь из библиотек aspell/ispell. Там наверняка есть работа с корнями, окончаниями. Это будет проще и точнее чем самим изобретать. Да и словарик русских слов в aspell тоже есть.
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 3
04.09.2009, 23:17 14
Не вопрос, можно вообще без аси, но надо же как-то договориться о вознаграждении! Если будет гарантировано хотя бы 10$, я сделаю прогу и отдам с исходниками.
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,182
04.09.2009, 23:19 15
Вообще-то Odip эта прога и нафиг не нужна, это автору темы вроде надо было.
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
05.09.2009, 00:16 16
Puporev все верно говорит, автор темы молчит.
0
05.09.2009, 00:16
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.09.2009, 00:16
Помогаю со студенческими работами здесь

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

Составить программу которая подсчитывает количество слов в тексте.
Составить программу которая подсчитывает количество слов в тексте.

Написать программу, которая подсчитывает количество слов в текстовом файле
Дан символьный файл f. Написать программу, которая подсчитывает количество слов, в текстовом файле...

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


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

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

Новые блоги и статьи
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru