4. Составьте программу удаления "лишних" пробелов (спаренных, начальных и концевых пробелов строки) в полученной строке.
while (x[1]=' ')or(x[length(x)]=' ') do
begin
if x[1]=' ' then delete(x,1,1);
if x[length(x)]=' 'then delete(x,length(x),1);
end;
for i:=1 to length(x)do if (x[i]=' ')and(x[i+1]=' ') then {перебираем символы в строке}
begin
delete(x,i,1); {Если больше одного пробела(x[i]=' ' и x[i+1]=' ', то удаляем лишний пробел}
i:=i-1; {Возвращаемся на 1 символ назад,т.к. пробелов может быть больше 2х между словами}
end;
ФУХ! СПАСИБО ОГРОМНОЕ!
Да не зачто!
RaV - последнее предупреждение... Еще раз увижу программу, в которой делается вот ЭТО:
for i:=1 to length(x)do- это закончится для тебя В ЛУЧШЕМ СЛУЧАЕ - премодом. Все ясно?
if (x[i]=' ')and(x[i+1]=' ') then begin
delete(x,i,1);
i:=i-1; { <-- Махинации с управляющей переменной цикла !!! }
end;
Понятно