Структуры данных. Строки - 17 стр.

UptoLike

19
Пример 8. Дана строка
S. Удалить «лишние» пробелы в строке, то есть
удалить начальные, концевые пробелы, и внутри строки не должно быть несколь-
ко пробелов подряд.
Первый вариант решения использует стандартные процедуры и функции
(см. Приложение) и оформлен в виде процедуры
S81( S, Sr ). Результат форми-
руется в новой строке
Sr.
procedure S81(var S, Sr: string);
var p:integer;
begin
Sr:=S;
if Sr <>'' then
begin
p:=pos(' ',Sr);
{повторять, пока есть два подряд идущих пробела}
while p<>0 do
begin
delete(Sr,p,1); {удалить первый из двух пробелов}
p:=pos(' ',Sr)
end;
{если первый символ Sr - пробел, то удалить его}
if Sr[1]=' ' then
delete(Sr,1,1);
if Sr<>'' then
{если последний символ Sr - пробел, то удалить его}
if Sr[length(Sr)]=' ' then
delete(Sr,length(Sr),1)
end
end;