Дана программа которая должна удалять пробелы из строки 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. Во...

Дана программа которая должна удалять пробелы из строки 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;
Не нашли ответ?
Ответить на вопрос
Похожие вопросы