= Array[1 .. 100] Of String[100];
TDel = Set
Of Char;
Var i, count: BYTE; words: TWords;
DEL:Tdel; S:string;
Procedure vvodvivod(var s:string; flag:boolean);
Begin
If flag then Readln(s) Else writeln(s);
End;
Procedure del32(var s:string);
Var p:byte;
begin
Repeat
p := Pos(' ', s);
If p > 0 Then Delete(s, p, 1)
Until p = 0;
If s[1] = ' ' Then Delete(s, 1, 1);
If s[Length(s)] = ' ' Then Delete(s, Length(s), 1);
end;
Function GetWords(s: String; Var mas: TWords;
dels: TDel): Byte;
Var i, p: Byte;
Begin
For i := 1 to Length(s) Do
If s[i] In dels Then s[i] := #32;
Del32(s);
i := 0;
Repeat
p := Pos(' ', s); Inc(i);
If p > 0 Then
Begin mas[i] := Copy(s, 1, p-1); Delete(s, 1, p); End
Else mas[i] := s
Until p = 0;
GetWords := i
End;
Begin
Writeln(‘введите разделители’);
Vvodvivod(s,true);
Del:=[];
For I:=1 to length(s) do
Del:=del+s[i];
Count := GetWords(s, words, del);
For i := 1 To Count Do
vvodvivod(words[i],false);
End.
Заменяем все разделители пробелами
формирование множества разделителей
заполняем массив словами из строки
удаляем лишние пробелы
Удаляем пробелы в начале строки
Удаляем пробелы в конце строки