Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
8 / 7 / 2
Регистрация: 23.06.2009
Сообщений: 41
1

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

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

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

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

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

Формат файла статистики
<слово>, <слово>, ..., <слово> : <количество вхождений>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2009, 11:14
Ответы с готовыми решениями:

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

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

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

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

15
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
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
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
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
Эксперт С++
7175 / 3234 / 81
Регистрация: 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
Эксперт С++
7175 / 3234 / 81
Регистрация: 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
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
04.09.2009, 23:19 15
Вообще-то Odip эта прога и нафиг не нужна, это автору темы вроде надо было.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
05.09.2009, 00:16 16
Puporev все верно говорит, автор темы молчит.
0
05.09.2009, 00:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2009, 00:16
Помогаю со студенческими работами здесь

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

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

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

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


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

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