Дана программа которая должна удалять пробелы из строки 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 программа выдает ошибка времени выполнения, индекс находился вне границ массива нужно исправить
272
379
Ответы на вопрос:
Если по мере выполнения цикла for менять значение переменной его границы, то цикл не будет меняться, а так как ты удаляешь пробелы, то длина строки уменьшается. в твоем примере нужно заменить цикл for на цикл while(i< =length(s)) ну и в цикле добавить i: =i+1;
Популярно: Информатика
-
Элиана0130.05.2020 20:34
-
eldarsorokin214.07.2022 03:07
-
Matvey228133702.08.2021 06:37
-
Elizabeth04110028.07.2022 00:15
-
milana37416.08.2021 02:05
-
mixajlovdenisk30.06.2021 02:41
-
sasharsm19.06.2020 02:32
-
sharshukovauly08.01.2023 05:09
-
motidzukiakane28.06.2021 19:27
-
TamerlanKalken17.03.2023 09:09