Предмет: Информатика, автор: marishkaseagirl

Дана строка содержащая любые символы кроме русских букв.

Под "словом" будем понимать последовательность символов, ограниченную пробелами или стоящую в конце или начале строки. Между словами может быть несколько пробелов. Так же пробелы могут быть в конце или начале строки.

Написать функцию, которая в заданной строке находит количество cлов - палиндромов.

Использовать заголовок:

function CalcWord(Stroka: string): integer;
на паскале

Ответы

Автор ответа: pinguinbird
0

Ответ:

function CalcWord(Stroka: string): integer;

   var i,j,count:integer;

   s,k:string;

   begin

       i:=1;

       count:=0;

       while i<=length(Stroka) do begin

           s:='';

           while not (Stroka[i] in [' ',',','.','!',':']) and (i<=length(Stroka)) do begin

               s:=s+Stroka[i];

               inc(i);

           end;

           if (s<>'') and (length(s) >=3) then begin

               k:='';

               s:=upcase(s);

               j:=length(s);

               while j>0 do begin

                   k:=k+s[j];

                   j:=j-1;

               end;

               if s=k then inc(count);

           end;

           inc(i);

       end;

       CalcWord:=count;

   end;

begin

   write(CalcWord('Hey, wow!'));

end.


pinguinbird: Полчаса писалось. Довольно интересная задачка! )
pinguinbird: можно ещё расширить знаки препинания в этой конструкции - Stroka[i] in [' ',',','.','!',':'] . Дефис там добавить, может знак вопроса и т.д.
Интересные вопросы
Предмет: Русский язык, автор: Аноним