Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.04.2011, 11:11
Fanil Fanil вне форума
Прохожий
 
Регистрация: 24.01.2011
Сообщения: 26
Репутация: 10
По умолчанию Сложноватый массив с условиями.

Здравствуйте. У меня есть массив в 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- сумма всей второй строки.

Если сможете помочь, буду очень благодарен!!!
Ответить с цитированием
  #2  
Старый 07.04.2011, 11:13
Fanil Fanil вне форума
Прохожий
 
Регистрация: 24.01.2011
Сообщения: 26
Репутация: 10
По умолчанию

Забыл поставить скобки :P=Sqrt(((P1^2)*t1+(P2^2)*t2+...+(Pn^2)*tn)/(t1+t2+...+tn)).
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025