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

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

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

 
 Ответить  Открыть новую тему 
> задания на курсовую.
сообщение
Сообщение #1


Гость






Здравствуйте.. У меня проблемы с курсовой... срочно надо сдавать, а у меня даже наработок нет =( Помогите мне пожайлуста!!! А то погибну  

Вот задание:
Задан текст, состоящий из строк произвольной длины. Строки разделяются одним символом или несколькими, называемыми разделителями. Разделители одинаковы для всего текста. Текст заканчивается комбинацией двух специальных символов, отличных от разделителя.
Выполнить над текстом последовательность действий, указанную в задании:
а) Найти порядковые номера, считая от начала текста, определённых символов, которые задаются в исходных данных.
б) Сформировать новый текст, в котором каждый такой слог заключён в кавычки.

Может ещё не перевелись добрые люди на свете. Пожайлуста откликнитесь кто-нибудь!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 29

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


Переводишь текст в тип string а затем...Короче, куда посылать готовую прогу?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость







program Search;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TBMTable = array[0..255] of Integer;

function BMSearch(StartPos: Integer; const S, P: String): Integer;
var
Pos, lp, i: Integer;
BMT: TBMTable;
begin

for i := 0 to 255 do BMT[i] := Length(P);
for i := Length(P) downto 1 do if BMT[Byte(P[i])] = Length(P) then
BMT[Byte(P[i])] := Length(P) - i;

lp := Length(P);
Pos := StartPos + lp -1;
while Pos <= Length(S) do
if P[lp] <> S[Pos] then Pos := Pos + BMT[Byte(S[Pos])] else
for i := lp - 1 downto 1 do if P[i] <> S[Pos - lp + i] then
begin
Inc(Pos);
Break;
end else if i = 1 then
begin
Result := Pos - lp + 1;
Exit;
end;
Result := 0;

end;

begin

WriteLn(BMSearch(1, 'dacf', 'cf'));
ReadLn

end.


Ф-ия ищет эффективным алгоритмым(упрощённая версия алгоритма Бойера-Мура) первое вхождение подстроки в строке.Легко исправить чтоб искала следующие вхождения(напиши если надо я тебе сделаю). Быстрый алгоритм поиска - это всё что тебе нужно для решения задачи!Пока

Сообщение отредактировано: Altair -
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 28.03.2024 15:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name