Показать сообщение отдельно
  #1  
Старый 25.04.2011, 13:36
Fanil Fanil вне форума
Прохожий
 
Регистрация: 24.01.2011
Сообщения: 26
Репутация: 10
По умолчанию массив в StringGrid

Здравствуйте. У меня есть массив в StringGrid, имеющий размерность 2строки и n количество столбцов. Первая строка- это значения P1,P2,...Pn, а вторая строка- это значения t1,t2,...tn. У меня есть код, котрый обрабатывает массив следующим образом: P=Sqrt(((P1^2)*t1+(P2^2)*t2+...+(Pn^2)*tn)/(t1+t2+...+tn)).
Код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
 i,j: Integer;
 Pr, SumP, t, P: Real;
begin
  For i:= 0 To StringGrid1.ColCount - 1 Do
 For j:= 0 To StringGrid1.RowCount - 1 Do
  if StringGrid1.Cells[i,j] = '' Then StringGrid1.Cells[i,j]:= '0';
 t:= 0; SumP:= 0;
 For i:= 0 To StringGrid1.ColCount - 1 Do
  begin
   Pr:= 1;
   For j:= 0 To StringGrid1.RowCount - 1 Do Pr:= (Sqr(Pr))*StrToFloat(StringGrid1.Cells[i,j]);
   SumP:= SumP + Pr;
   t:=t + StrToFloat(StringGrid1.Cells[i,StringGrid1.RowCount-1]);
  end;
 P:= Sqrt(SumP/t);
 Label1.Caption:='d= '+FloatToStrF(P,ffFixed,5,2);
end;
end.

Как сделать так, чтобы:
1) Формула высчитывалась так: P=Sqrt(((P1^2)*t1+(P2^2)*t2+...+(Pn^2)*tn)/(0,75*t1+t2+...+tn)). индекс 0,75 должен применятся только к t1.
Ответить с цитированием