Дана программа которая должна удалять пробелы из строки
Program var15_stroki;
Var s:string;
i,endstr:integer;
Begin
Readln(s);
endstr:=Length(s);
for i:=2 to endstr do
if s[i]= then
Delete(s,i,1);
Writeln(s);
Readln;
end.
Вот тут ошибка if s[i]= then программа выдает Ошибка времени выполнения, Индекс находился вне границ массива
Нужно исправить

Если по мере выполнения цикла for менять значение переменной его границы, то цикл НЕ будет меняться, а так как ты удаляешь пробелы, то длина строки уменьшается. В твоем примере нужно заменить цикл for на цикл while(i<=length(s)) ну и в цикле добавить i:=i+1;

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку