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

Вчем ошибка? пишет "индекс находится вне границ массива" вроде 17 сторока program test; uses crt; var s, s1: string; n, f, i, j, len: integer; begin clrscr; writeln('введите предложение'); readln(s); s: =' '+s; writeln('ведите приставку'); readln(s1); len: =length(s1); n: =0; f: =0; while j< =length(s) do begin if s[j]=' ' then begin for i: =1 to len do if s[j+i]< > s1[i] then f: =1; if f=0 then begin n: =n+1; j: =j+len; end else j: =j+1; end; end; writeln('n=',n); readln; end. в выделенной строке выдает ошибку

Показать ответ
Ответ:
мажорчик2
мажорчик2
03.07.2020 23:07
Задание не много не понятно, где что стоит, лучше сфотай
0,0(0 оценок)
Ответ:
Арина1666
Арина1666
03.07.2020 23:07
Смотрите, в этом цикле:
while j<=length(s) do   
J может быть равно длине строки. А внутри цикла есть вот это:
  if s[j+i]<>s1[i] then f:=1;
То есть если s[J] - последний символ, то на этой строчке пойдет обращение уже к несуществующему индексу массива.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота