Что не правильно в этой программе? надо найти среднее арифметическое нечетных чисел. В этой строке (i:=i+1;) пишет Нельзя изменять значение переменной цикла внутри этого цикла Program P1; Var K: array [1..40] of integer; i,S: i...

Что не правильно в этой программе? надо найти среднее арифметическое нечетных чисел. В этой строке (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.
Гость
Ответ(ы) на вопрос:
Гость
Правильно пишет. В цикле for счётчик индексируется автоматически. Вручную его менять нельзя. В твоем цикле i является счетчиком цикла и одновременно еще и счетчиком нечетных элементов. Это недопустимо. Замени i на j например или другую букву для подсчета количества нечетных элементов.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы