50 . pascalabc дан текст, состоящий из слов: между словами произвольное число пробелов, после последнего слова точка. напечатать все слова, удалив из них две последние буквы.

DashaL04 DashaL04    1   26.09.2019 21:10    4

Ответы
даша3645 даша3645  16.08.2020 22:52
Var
  l,i:integer;
  s,w:string;
  prt:boolean;
  c:char;

begin
  { s:='  Арбуз    вагон  барабан Goodday   dummy.  '; }
  Write('Введите строку: ');
  Readln(s);
  l:=Pos('.',s);
  s:=Copy(s,1,l-1)+' ';
  i:=1;
  prt:=False;
  w:='';
  while i<=l do
  begin
    c:=s[i];
    if c=' ' then
    begin
      if prt then
        begin
        if Length(w)>2 then Write(Copy(w,1,Length(w)-2),' ');
        w:='';
        prt:=not prt
        end
    end
    else
    begin
      w:=w+s[i];
      prt:=True
    end;  
    Inc(i)
  end;
  Writeln
end.
ПОКАЗАТЬ ОТВЕТЫ
GarryPotter15 GarryPotter15  16.08.2020 22:52
Var s1,s2:string;
i:integer;
begin
writeln('Введите строку:');
readln(s1);
while pos('  ',s1)>0 do delete(s1,pos('  ',s1),1);
s1[length(s1)]:=' ';
s2:='';
for i:=1 to length(s1)-2 do
 if (s1[i+2]<>' ')and(s1[i+1]<>' ')
  then s2:=s2+s1[i];
writeln(s2);
end.

Пример:
Введите строку:
все слова    удалив   две   последние      буквы.
в сло удал д последн бук
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика