Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Ошибка в коде простейшей программы. (http://forum.oszone.net/showthread.php?t=223745)

Warrior of light 25-12-2011 15:33 1822029

Ошибка в коде простейшей программы.
 
Здравствуйте, помогите, пожалуйста разобраться с задачей.
Собственно задача так звучит: Найти среднее арифметическое членов, имеющих нечетные порядковые номера и являющихся четными числами.
Код:

procedure TForm1.Button2Click(Sender: TObject); var j:integer; p,s,k,m,nom,s1,s2:integer;
  begin
  if CheckBox4.Checked then begin
            for j:=1 to n do begin
              if (j mod 2 <> 0) and (StrToInt(StringGrid1.cells[j,1]) > 0) then begin
                  s1:=s1+1;
                  s2:=s2+StrToInt(StringGrid1.cells[j,1]);
              end;
            end;
            m:=s2/s1;
            Label4.Caption:='Средн. арифметическое'+IntToStr(m);
          end
          else
            Label4.Caption:='';


 end;
end.

Выдает ошибку, ссылаясь на строку, выделенную красным цветом. [Error] My_Unit3_4.pas(129): Incompatible types: 'Integer' and 'Extended'

Hector 25-12-2011 16:37 1822076

Warrior of light, вероятно переменная m объявлена типом Integer, а нужен Extended ибо по правилам, результат деления не является Integer

Warrior of light 25-12-2011 17:55 1822144

спасибо, разобрался.


Время: 00:23.

Время: 00:23.
© OSzone.net 2001-