В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
irusikkk
irusikkk
07.11.2020 08:15 •  Информатика

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

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