Вывести в обратном порядке третье слово — Pascal(Паскаль)

Var
  st, s: String;
  i, c, p: byte;
Begin
  writeln('Введите текст:');
  readln(st);
  c:=0;
  i:=1;  
  {c - количество встречающихся сочетаний символов "пробел" и "не пробел"}
  while ((c < 2) and (i < length(st)-1)) do
  begin
    {если текущий символ - пробел, а следующий - не пробел, значит начинается очередное слово:}
    if (st[i]=' ') and (st[i+1]<>' ') then c:=c+1;
    i:=i+1;
  end;
  if (c<2) then writeln('В строке нет третьего слова')
  else
  begin
    {копируем в строку s из st все символы начиная со второго встретившегося сочетания "пробел"-"не пробел"}
    s:=copy(st,i,length(st)-i+1);
    {p - позиция пробела в строке s}
    p:=pos(' ', s);
    {если есть ещё пробелы (p<>0),то удаляем все символы после пробела (остается третье слово):}
    if p <> 0 then delete(s, p, length(s)-p+1);
    writeln('Результат');
    for i:=length(s) downto 1 do
      write(s[i]);
  end;
  readln;
End.

Leave a Comment

79 + = 88