Задать вопрос
14 мая, 09:13

Что не правильно в этой программе? надо найти среднее арифметическое нечетных чисел. В этой строке (i:=i+1;) пишет Нельзя изменять значение переменной цикла внутри этого цикла

Program P1;

Var K: array [1 ... 40] of integer;

i, S: integer;

sr: real;

begin

For i: = 1 to 40 do K[i]: = random (21) + 0;

writeln;

For i: = 1 to 40 do write (K[i], ' ') ;

S:=0;

i:=0;

writeln;

For i: = 1 to 40 do if K[i] mod 2=1 then begin

S: = S+K[i];

i:=i+1;

sr: = S/i;

end;

Write (sr) ;

end.

+1
Ответы (1)
  1. 14 мая, 09:34
    0
    Правильно пишет. В цикле for счётчик индексируется автоматически. Вручную его менять нельзя. В твоем цикле i является счетчиком цикла и одновременно еще и счетчиком нечетных элементов. Это недопустимо. Замени i на j например или другую букву для подсчета количества нечетных элементов.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Что не правильно в этой программе? надо найти среднее арифметическое нечетных чисел. В этой строке (i:=i+1;) пишет Нельзя изменять значение ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы