Здравствуйте.. У меня проблемы с курсовой... срочно надо сдавать, а у меня даже наработок нет =( Помогите мне пожайлуста!!! А то погибну
Вот задание:
Задан текст, состоящий из строк произвольной длины. Строки разделяются одним символом или несколькими, называемыми разделителями. Разделители одинаковы для всего текста. Текст заканчивается комбинацией двух специальных символов, отличных от разделителя.
Выполнить над текстом последовательность действий, указанную в задании:
а) Найти порядковые номера, считая от начала текста, определённых символов, которые задаются в исходных данных.
б) Сформировать новый текст, в котором каждый такой слог заключён в кавычки.
Может ещё не перевелись добрые люди на свете. Пожайлуста откликнитесь кто-нибудь!!!
Переводишь текст в тип string а затем...Короче, куда посылать готовую прогу?
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.