Продублировать первое слово - Pascal ABC

Формулировка задачи:

Дана строка, слова разделены одним пробелом, в конце точка. Продублировать первое слово, если слово максимально длины встречается более 2 раз. В противном случае удалить последнее слово.

Код к задаче: «Продублировать первое слово - Pascal ABC»

textual
var
s,buf,max:string;
i:integer;
begin
writeln('Введите строку');
readln(s);
i:=1;
s:=trim(s);
max:='';
buf:='';
for i:=1 to length(s) do
    if (s[i] <> ' ') and (s[i] <> '.') then
       buf:=buf + s[i]
    else
       begin
       if length(buf) > length(max) then
          max:=buf;
       buf:='';
       end;
buf:=s;
delete(buf,pos(max,s),length(max));
i:=length(s) - 1;
if pos(max,buf) > 0 then
   insert(copy(s,1,pos(' ',s)),s,pos(' ',s)+1)
else
   while s[i] <> ' ' do
    begin
    delete(s,i,1);
    dec(i);
    end;
writeln('Итоговая строка: ',s);
end.

14   голосов, оценка 3.929 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы