div:last-child{padding-bottom:0;border:0}.mass_comments_action{display:none}.comm-box{margin-bottom:20px}.comm-title{float:left;font-size:22px;font-weight:700;color:#333}.full-title{font-size:22px;font-weight:700;color:#333;margin-bottom:20px}.comm-user{float:right;font-size:14px;padding-top:5px}.comm-bott{font-size:17px;line-height:24px}.comm-bott>div,.answers .element .content{word-wrap:break-word;font-size:18px;line-height:24px;font-weight:400;color:#000}#news_set_sort{float:right;margin-top:-5px}.side-title{color:#333;font-weight:800;text-align:center;margin-bottom:15px}.side-btnbox{text-align:center}.btn.bg-blue{background-color:#fff}#moreres{background:#fff;color:#000;font-size:14px;text-transform:none;box-shadow:none;border-radius:17px;border-bottom:2px solid #e9e9e9}#moreres.lds-ring-loader{opacity:.5;cursor:default}#moreres .lds-ring{display:inline-block;position:absolute;width:35px;height:35px}#moreres .lds-ring div{box-sizing:border-box;display:block;position:absolute;width:30px;height:30px;margin:3px;border:3px solid #333;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(0.5,0,0.5,1) infinite;border-color:#333 transparent transparent transparent}#moreres .lds-ring div:nth-child(1){animation-delay:-0.45s}#moreres .lds-ring div:nth-child(2){animation-delay:-0.3s}#moreres .lds-ring div:nth-child(3){animation-delay:-0.15s}@keyframes lds-ring{0{transform:rotate(0)}100%{transform:rotate(360deg)}}.main-desc{box-shadow:0 0 3px #ece3e3;padding:24px;margin-top:24px;border-radius:10px}.main-desc p{margin:10px}.main-desc ul{margin-left:40px}.main-desc ul li{list-style-type:disc}.centerblock{text-align:center}.infousers:before{content:attr(data-fergetmising);width:95%;display:block;background:rgba(215,229,0,0.27058823529411763);margin-bottom:15px;padding:12px 15px;border-radius:7px;line-height:22px;font-size:15px}
profile
Размещено 4 года назад по предмету Информатика от 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.

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

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

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.