Задана строка, состоящая из слов и пробелов. Переверните каждое слово (dog-god), сохраняя неизменными порядок слов в строке — Pascal(Паскаль)

uses crt;
var s,s1,s2:string;
    n,i,j,k:byte;
    c:char;
begin
clrscr;
writeln('Введите последовательность слов, разделенных пробелами');
readln(s);
s2:='';
i:=1;
while i<=length(s) do
if (s[i]<>' ')and ((s[i-1]=' ')or(i=1)) then{если буква, а перед ней пробел, или она первая}
 begin
  k:=i;s1:='';
  while (s[k]<>' ')and(k<=length(s))do {пока не пробел и не конец строки}
   begin
    s1:=s1+s[k];
    k:=k+1;{идем вперед}
   end;
  for j:=1 to length(s1)div 2 do
   begin
    c:=s1[j];
    s1[j]:=s1[length(s1)-j+1];{переворачиваем слово}
    s1[length(s1)-j+1]:=c;
   end;
  s2:=s2+s1; {пишем в новую строку}
  i:=i+length(s1);{перепрыгиваем}
 end
else
 begin
  s2:=s2+s[i];{если не слово, пишем и идем вперед}
  i:=i+1;
 end;
write(s2);
readln
end.

Leave a Comment

32 + = 33