program Project1;
const
//Множество разделителей слов.
D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
S, StrW : String;
i, Pos1, PosW, Len, LenW, LenWMax : Integer;
begin
repeat
//Исходный текст.
Writeln('Задайте текст:');
Readln(S);
//Поиск координат первого из самых длинных слов,
//которые начинаются и заканчивается на букву 'т'.
Len := Length(S);
LenWMax := 0;
PosW := 0;
Pos1 := 0;
for i := 1 to Len do begin
//Пропускаем разделители.
if S[i] in D then Continue;
//Отслеживаем начало слова.
if (i = 1) or (S[i - 1] in D) then Pos1 := i;
//Отслеживаем конец слова.
if (i = Len) or (S[i + 1] in D) then begin
//Если слово начинается и заканчивается на букву 'т'.
if (S[Pos1] in ['т', 'Т', 't', 'T']) and (S[i] in ['т', 'Т', 't', 'T']) then begin
//Вычисляем длину слова.
LenW := i - Pos1 + 1;
//Если это слово длиннее всех ранее найденных слов, то
//запоминаем его координаты и его длину.
if LenW > LenWMax then begin
LenWMax := LenW;
PosW := Pos1;
end;
end;
end;
end;
//Показываем результат.
if PosW > 0 then begin
//Искомое слово.
StrW := Copy(S, PosW, LenWMax);
Writeln('Первое из самых длинных слов с буквой "т" в начале и в конце:');
Writeln(StrW);
end else begin
Writeln('Слов, удовлетворяющих условию не найдено.');
end;
Writeln('Повторить - Enter. Выход - любой символ + Enter.');
Readln(S);
until S <> '';
end.