
16.06.2010, 07:15
|
Прохожий
|
|
Регистрация: 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: Пользуемся тегами!
|