Здравствуйте. У меня есть массив в 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.
2) если какой-то из Pn=0, то соответсвующий ему tn(т.е. весь столбец) не входили в данную формулу.
3) Посчитать новый элемент PV=а1/а2.
а1-это сумма элементов t у которых Р=0;
а2- сумма всей второй строки.
Если сможете помочь, буду очень благодарен!!!