IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> поиск символьных последовательностей
c-chopper
сообщение 11.05.2005 20:10
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


:low:
Найти наиболее длинную последовательность символов, которая встречается в данном текстовом файле (без переводов строк, размер не более 10 килобайт) более одного раза.

единственное, что приходит в голову(пока, по крайней мере) это тупой перебор комбинаций символов. но это неправильно.
прошу помощи :molitva:


--------------------
artificial intelligence
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 11.05.2005 23:29
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Предлагаю такой способ.
Сначала выделяем вообще все подпоследовательности символов (последовательностть символов это более или 2 идущих подряд одинаковых симв), а затем имею все подпоследовательнотсти ищем ту, что нужно.

а вот тебе пример как разбить на подпоследовательности:
(процедура выделяет подпоследовательности)
 var s:string;
procedure getposl(s:string);
var i:byte; ss:string; b:boolean;
begin
ss:=''; b:=false;
for i:=1 to length(s) do
begin
if b then begin ss:=ss+s[i] end; {next}
if (s[i]=s[i+1]) and (b=false) then begin ss:=ss+s[i]; b:=true; end; {new}
if ((NOT((s[i]=s[i+1])))or (i=length(s))) and (b=true) then begin
if ss<>'' then {*****}writeln(ss);{*****} ss:='';b:=false end;
end
end;

begin
readln(s);
getposl(s)
end.

то есть что бы сохранить последовательности надо вместо
{*****}writeln(ss);{*****} описать процедуру сохранения где-то (все равно где - список, массив) слова ss...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
c-chopper   поиск символьных последовательностей   11.05.2005 20:10
Altair   Предлагаю такой способ. Сначала выделяем вообще вс...   11.05.2005 23:29
Atos   Надо уточнить : имеется в виду последовательность ...   12.05.2005 7:29
c-chopper   любых, к сожалению как вам такой вариант: сохран...   12.05.2005 11:46
volvo   А как это отработает на таком массиве, например: ...   12.05.2005 12:00
c-chopper   найдёт ab, проверит какая буква следует за b обоих...   12.05.2005 16:52
volvo   Кстати, посмотри что я нашел: http://www.hardline....   12.05.2005 17:02
Atos   Хорошая статья! Да, и ещё момент тут надо ут...   13.05.2005 4:56
c-chopper   Atos необходимо найти самую длинную. в данном случ...   13.05.2005 8:40
volvo   :) Нет, я тебе как раз и дал ссылку, чтобы ты попр...   13.05.2005 8:59
Atos   :huh: :blink: Так ведь в твоём задании "Н...   14.05.2005 5:30
c-chopper   угу... я почему-то решил, что abababa часть строки...   14.05.2005 17:28
c-chopper   :fire: program individualnoe_n14; uses crt; type a...   16.05.2005 20:53
Atos   На первый беглый взгляд: 1) Можно открыть файл как...   17.05.2005 6:28
c-chopper   вроде да.... генерил файл, вставлял туда несколько...   17.05.2005 8:46
c-chopper   использовать можно всё, что считаешь нужным.   17.05.2005 14:58
volvo   Да пойми ты, что НЕ ДОЛЖЕН тебе никто ничего раст...   17.05.2005 15:43
c-chopper   да ничего я не требую! я лишь попросил. понят...   17.05.2005 18:25


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 20:50
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"