Предмет: Информатика, автор: Sayu

В чем ошибка? Пишет "Индекс находится вне границ массива" вроде 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.

В выделенной строке выдает ошибку

Ответы

Автор ответа: Kiyanitsinaaaa
0
задание не много не понятно, где что стоит, лучше сфотай
Автор ответа: emblerik
0
Смотрите, в этом цикле:
while j<=length(s) do   
J может быть равно длине строки. А внутри цикла есть вот это:
  if s[j+i]<>s1[i] then f:=1;
То есть если s[J] - последний символ, то на этой строчке пойдет обращение уже к несуществующему индексу массива.
Автор ответа: emblerik
0
надо опустить else j := j + 1 На строчку ниже
Автор ответа: Sayu
0
благодарю
Автор ответа: emblerik
0
и else убрать - там же в любом случае надо увеличить
Автор ответа: emblerik
0
f := 0 внести в цикл while и вроде работает
Автор ответа: Sayu
0
спасибо огромное, все работает х)
Похожие вопросы
Предмет: Математика, автор: ag7066417
Предмет: Математика, автор: iorshik20