Показать сообщение отдельно
  #5  
Старый 16.06.2010, 07:15
serg154 serg154 вне форума
Прохожий
 
Регистрация: 15.06.2010
Сообщения: 10
Репутация: 10
По умолчанию

Смотрите, что получается. Не знаю, как задать количество необходимых ячеек, чтобы найти среднее арифметическое.
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 StringGrid1.Cells[0, 0] := 'Пол';
 StringGrid1.Cells[1, 0] := 'Рост';
 StringGrid1.Cells[2, 0] := 'Вес';
 StringGrid1.Cells[3, 0] := 'Размер одежды';
 StringGrid1.Cells[4, 0] := 'Размер обуви';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 Sum, Kol: integer;
 Srob:Real;
begin
 //Начальный средний размер обуви
 Srob:= 0;
 Sum:=0;
 Kol:=0;
  //Пройтись по всем строкам таблицы
 for i := 1 to StringGrid1.RowCount-1 do
 begin
  //Если женский пол и вес не превышает 50
  if ((StringGrid1.Cells[0, i] = 'Жен') and//Женский пол
      (StrToInt(StringGrid1.Cells[2, i]) < 50)) then//Вес меньше 50.
   Sum := (Sum + StrToInt(StringGrid1.Cells[4, i]));//Считаем рост
   Kol:= ????????? //количество ячеек
   Srob:=Sum/Kol;
 end;
 //Если суммарные рост и вес не равны 0, то
 if (Srob <> 0) then
  ShowMessage('Cредний размер обуви женщин, вес которых не превышает 50 кг, равен ' + FloatToStr(Srob))
 else
  ShowMessage('Таких анкет нет!');
end;
end.
Admin: Пользуемся тегами!
Ответить с цитированием