50 . pascalabc дан текст, состоящий из слов: между словами произвольное число пробелов, после последнего слова точка. напечатать все слова, удалив из них две последние буквы.
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.
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.
Пример: Введите строку: все слова удалив две последние буквы. в сло удал д последн бук
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.
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.
Пример:
Введите строку:
все слова удалив две последние буквы.
в сло удал д последн бук