Обработка строк
Удаление символов
Задача 1. Удалить лишние пробелы между словами, оставив по одному.
USES Crt;
VAR
S:STRING[255]; I,K: INTEGER;
BEGIN
ClrScr;
Write('Введите текст '); ReadLn(S);
I:=1;
While(I<=Length(s)) DO Begin
IF Copy(S,I,2)=' ' THEN Begin
Delete (S,I,1);
I:=I-1;
End;
I:=I+1;
End;
Write(S);
END.
Задача 2. В тексте удалить все слова, заканчивающиеся на букву «е».
USES Crt;
VAR
S: STRING [250]; PS,N,I: INTEGER;
BEGIN
ClrScr;
Write('Введите текст '); ReadLn(S);
S:= ' '+S+' ';
FOR I:=1 TO Length(S) DO Begin
IF S[I]=' ' THEN Begin
PS:=I-1;
IF S[PS]='E' THEN WHILE(S[PS]<>' ') DO Begin
Delete(S,PS,1); PS:=PS-1;
End;
End;
End;
WriteLn(‘ Измененный текст:’); Write(S);
END.
Задача 3. Из текста удалить каждое второе слово. Слова разделены пробелом.
USES Crt;
Type MAS= STRING [20];
VAR
A : MAS;
I,K: INTEGER;
BEGIN
ClrScr;
Write('Введите текст '); ReadLn(A);
i:=1;
While (I<=Length(A)) DO Begin
IF A[I]=' ' THEN Begin
K:=I+1;
While (A[K]<>' ') DO Delete(A,K,1);
I:=I+1;
End;
I:=I+1;
End;
WriteLn(‘Измененный текст:’); Write(A);
END.
.....................................................................................................................................
Практические задания
.....................................................................................................................................
- В третьем предложении текста удалить все слова «мир».
- Из строки символов удалить все гласные буквы.
- Из строки символов удалить заданное слово.
- Удалить все символы «!», следующие за вторым предложением.