В чем ошибка? Пишет "Индекс находится вне границ массива" вроде 17 сторокаprogram test;uses crt;var s, s1:string;n, f, i, j, len:integer;begin     clrscr;     writeln('введите предложение');      readln(s);      s:=' '+s;      ...

В чем ошибка? Пишет "Индекс находится вне границ массива" вроде 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. В выделенной строке выдает ошибку
Гость
Ответ(ы) на вопрос:
Гость
задание не много не понятно, где что стоит, лучше сфотай
Гость
Смотрите, в этом цикле: while j<=length(s) do    J может быть равно длине строки. А внутри цикла есть вот это:   if s[j+i]<>s1[i] then f:=1; То есть если s[J] - последний символ, то на этой строчке пойдет обращение уже к несуществующему индексу массива.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы