pforsov30
05.02.2020 18:27

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ivanova7nastya1
25.08.2020 06:40
Если по мере выполнения цикла for менять значение переменной его границы, то цикл НЕ будет меняться, а так как ты удаляешь пробелы, то длина строки уменьшается. В твоем примере нужно заменить цикл for на цикл while(i<=length(s)) ну и в цикле добавить i:=i+1;
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота