Дано предложение А. Сформировать новое предложение В, заменив порядок букв в каждом слове из предложения А на противоположный (порядок слов не менять) — Pascal(Паскаль)

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

Leave a Comment

− 2 = 5