|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.10.2012, 09:15 | #1 |
Новичок
Джуниор
Регистрация: 08.10.2012
Сообщений: 1
|
Подсчет вероятности встречи в тексте двухсимвольных сочетаний
Попросили помочь, а так как сам в программировании не силен, решил спросить совета
Задача - считать из файла текст и подсчитать вероятность встречи двухсимвольных сочетаний (Например в тексте "Мама мыла раму" - "ма" - 2 раза, "мы" - 1 раз и т.д.). Как видится алгоритм: 1) считываем текстовый файл в переменную 2) пробегаем по тексту и удаляем проблемы, знаки препинания, буквы вроде "ъ" и т.д. (условие есть в задании) 3) полученный блок запихиваем в массив в виде $array[ма]=2, где "ма" - сочетание букв, "2" - сколько раз встретилось в тексте. 4) На основе количества элементов массива и вероятности их встречи считаем процентные соотношения. Собственно вопросы а) пока вижу пункт 3 только как "взять след 2 символа, проверить массив, есть ли в нем такой элемент, если нет - добавить, если да - увеличить счетчик". Может есть более изящные варианты? б) к реализации программы нет никаких требований, поэтому посоветуйте пожалуйста язык, где есть средства/встроенные функции для подобного Сам присматриваюсь к perl или php, они вроде много всего имеют для работы с текстом, а о каком языке читать мне разницы нет Заранее спасибо. |
09.10.2012, 20:54 | #2 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
на прологе держи: (программа выводит количество вхождения каждой пары символов в СТРОКЕ (без учета регистров и пропуска пробельных символов). Код:
S = "Мама мыла раму" на file_str("input.txt",S) Осталось поискать в интернетах как установить всем символам один регистр ( думаю первой ссылки по "регистр символов prolog" будет достаточно, хотя....в какой кодировке файл? ) и чуть не забыл, удаление пробельных символов тоже есть в интернетах, но накидаю ( не проверял ) Код:
Последний раз редактировалось Stilet; 09.10.2012 в 21:41. |
|
10.10.2012, 13:05 | #3 | ||
Регистрация: 10.10.2012
Сообщений: 9
|
Цитата:
Лучший язык доля работы со строками бейсик Берете два символа поочередно и проверяете в цикле текст на совпадение Цитата:
Чтобы выпендрится ? Последний раз редактировалось Stilet; 10.10.2012 в 14:38. |
||
10.10.2012, 14:05 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
С "удалением" всех лишних символов (т.е. "мамамылараму") на Delphi:
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 10.10.2012 в 14:16. |
10.10.2012, 14:40 | #5 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Цитата:
I'm learning to live...
|
|||
10.10.2012, 18:06 | #6 | |
Регистрация: 10.10.2012
Сообщений: 9
|
Моя логика
Действительно NET дает одинаковые возможности разным языкам Но бэйсик короче и удобочитальнее Цитата:
Обычно ему дают решение на псевдокоде или на наиболее распространенном языке Пролог появился от желания извратится |
|
10.10.2012, 19:01 | #7 | ||
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Цитата:
Цитата:
ТС попросил помочь - мы помогли, не нравится - помоги лучше. Сводить тему в холивары и оффтоп не стоит. Чтобы сказать что язык "лучше" надо формализовать это понятие и предложить критерии. С критерием "короче" не согласится большинство(см. брэинфак), "удобочитальнее" - субъективно, но бэйсик, в головах большинства, явно проигрывает подавляющему числу языков по этому критерию (широко распространено мнение что бэйсик делает людей инвалидами {хотя..ИМХО это не так - я проверял в детстве}). Ну а если не можешь выразить адекватные критерии и провести нормальный анализ - ИМХО не стоит кидаться такими утверждениями (если не хочешь "выпендрится"{орфография сохранена}). "О чем нельзя говорить ясно - о том стоит молчать" (с) Витгенштейн. Вопрос о "лучше языке" обсуждается уже много лет в соседнем разделе, там тебя уже ждет армия троллей. |
||
10.10.2012, 21:54 | #8 | |
Регистрация: 10.10.2012
Сообщений: 9
|
Цитата:
Я остаюсь при своем мнении, что наиболее доступный язык лучший вариант, даже, если он уступает Прологу Но согласен, что правильнее привести альтернативу, чем спорить о том, как надо решать задачу На будущее учту |
|
23.11.2012, 03:39 | #9 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
В защиту бэйсика: доступно всем друзьям!
В документе разрешаете доступ к VBA-содержимому либо просто переносите код (по Alt-F11) в свой заброшенный Word.
Замечу, что здесь вычисляется не вероятность где-то встретить тот или иной «слог» — а его абсолютная частота в конкретном тексте документа.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перебор сочетаний | Orjanruusu | PHP | 2 | 12.05.2012 11:42 |
подсчет символов в тексте(С#) | Vovchik123 | Помощь студентам | 2 | 13.04.2012 18:41 |
Найти количество сочетаний из n по k и вывести все комбинации этих сочетаний на экран | Рон99 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 14.12.2011 00:05 |
подсчет символов и слов в тексте(паскаль) | Noven'kii | Помощь студентам | 4 | 16.05.2009 10:10 |