почему ответ выдает 0?в чем ошибка

Program Temperature;

var 
  T: array[1..12] of integer;
  I: integer;
  S: real;
begin
  I:=1;
  while I <= 12 do
  begin
    readln(T[I]);
    I := I + 1;
  end;
  S := 0;
  while I <= 12 do
  begin 
    S := S + T[I];
    S := S / 12;
  end;
  writeln(S);
end.

Ответы (1 шт):

Автор решения: Igor

Потому что к моменту

S := 0;
while I <= 12 do

I уже равно 13. Обнулите эту переменную перед вторым циклом.

S := 0;
I := 0;
while I <= 12 do
begin 
  S := S + T[I];
  I := I + 1;
end;
S := S / 12;
→ Ссылка