Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 10.10.2019, 18:04   #1
DamnedMacTavish
Новичок
 
Аватар для DamnedMacTavish
 
Регистрация: 21.09.2019
Сообщений: 3
Репутация: 10
По умолчанию растояния между копиями в тексте.(С)

вот есть текст : йцукенгшщзхъфывапролцукенгджэячсмит ьбхъф
и нужно повторяющиеся последовательности символов найти
и расстояния между ними(нужны собсвенно только растояния )

получилось так Ж
цикл{
нахожу цукен цукен и растояние между ними 14 символов}
цикл{
нахожу цуке цуке и растояние между ними 15 символов
нахожу укен укен и растояние между ними 15 символов}
цикл{
нахожу цук цук и растояние между ними 16 символов
нахожу уке уке и растояние между ними 16 символов
нахожу кен кен и растояние между ними 16 символов
нахожу хъф хъф и растояние между ними 24 символа}

Вот собственопроблема! находить: укен, цуке, цук, кен, уке - нам не надо. Надо только цукен и хъф

хорошо бы все копии в одном цикле найти. но в одном цикле не получаетсяться т.к. при разной длинне повторяющихся последовательностей нужен разный шаг выбора позиции начала поиска копии.
Говоря простым языком если 3 символа повторяются то еще до начала поиска копии нужно отступить 3 символа от исходной последовательности , а если 5 то 5. + еще размер повторяющихся последовательностей может же быть от 3-ех до n символов + еще копих то может быть n штук.
мат!!!!!!Ц:У*:*Й?:
Вобщем может кто знает а-а-а-алгоритм нахождения этих копий и растояний между ними.
DamnedMacTavish вне форума   Ответить с цитированием
Старый 10.10.2019, 18:50   #2
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,497
Репутация: 1038
По умолчанию

Цитата:
Сообщение от DamnedMacTavish Посмотреть сообщение
и растояние между ними 14 символов
Расстояние явно надо считать не между, а от первого символа первого вхождения до первого же символа второго вхождения
Black Fregat вне форума   Ответить с цитированием
Старый 11.10.2019, 15:36   #3
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,929
Репутация: 2242
По умолчанию

Цитата:
может кто знает а-а-а-алгоритм
0. встаем на начало текста
1. берем минимально допустимую(по длине) последовательность с текущей позиции.
2. ищем повторы в продолжении текста и считаем расстояние.
3. проверяем более длинные последовательности СРЕДИ найденных( п.2) до исчерпания оных.
4. сдвигаем текущую позицию.
5. переходим к п.1
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 11.10.2019 в 15:39.
evg_m вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разные растояния между заголовком и текстом и подзаголовком bdfy Microsoft Office Word 0 30.09.2017 17:10
В тексте, содержащем между словами от 1 до 3 пробелов nik5-popov Паскаль 1 25.05.2013 11:12
Поиск маршрутов между двумя городами между n городов DorianMark Паскаль 11 09.11.2011 00:46
статья - Общение между запущенными копиями своих программ Pblog Обсуждение статей 0 27.02.2011 23:44
Переход между закладками в тексте одного стиля Окоча Юра Microsoft Office Word 3 01.02.2011 01:55


09:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.