function cutChar(s: String; p: Integer): String;
var
str, ing: String;
begin
str := copy(s, 1, p-1);
ing := copy(s, p+1, length(s));
cutChar := concat(str, ing);
end;
function sameStrings(s1: String; s2: String): boolean;
var
len, i, p: Integer;
begin
sameStrings := false;
len := length(s1);
if len <> length(s2) then exit;
for i := 1 to len do
begin
p := pos(s1[1], s2);
if p = 0 then exit;
sameStrings := sameStrings(cutChar(s1, 1), cutChar(s2, p));
if sameStrings = false then exit;
end;
sameStrings := true;
end;
function difference(s1: String; s2: String): String;
var
len, i, p: Integer;
s: String;
begin
difference := '';
if length(s1) < length(s2) then
begin
s := s1;
s1 := s2;
s2 := s;
end;
if length(s2) = 0 then
begin
difference := s1;
exit;
end;
p := pos(s1[1], s2);
if p = 0 then
difference := concat(difference, s1[1], difference(cutChar(s1, 1), s2))
else
difference := concat(difference, difference(cutChar(s1, 1), cutChar(s2, p)));
end;
procedure writeDifferNoMore(text: String; word: String; dist: Integer);
var
next: String;
spacePos, p: Integer;
diff: String;
begin
while length(text) > 0 do
begin
spacePos := pos(' ', text);
if spacePos > 0 then
p := spacePos
else
p := length(text)+1;
next := copy(text, 1, p-1);
diff := difference(next, word);
if length(diff) <= dist then
write(next, ' ');
delete(text, 1, p);
end;
end;
var
text, word: String;
begin
//write(difference('abc', 'a1b2c'));
write('Введите текст: '); readln(text);
write('Введите слово: '); readln(word);
writeDifferNoMore(text, word, 2);
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.