J'ai trouvé une solution
, mais je pense qu'il doit y avoir plus simple:
(Tabht est le tableau des hauteurs totales)
procedure TCalcul.AjouterClick(Sender: TObject);
var i:Integer;
begin
inc(n);
SetLength(TabZinf,n);
SetLength(TabZsup,n);
Tabht[0]:=TabEpaisseur[0];
for i:=1 to (Length(TabEpaisseur)-1) do
Tabht[i]:=Tabht[i-1]+TabEpaisseur [i];
Epaisseur.Text:=FloatToStr(Tabht[n-1]);
TabZInf[0]:=-Tabht[n-1]/2;
TabZsup[0]:=TabEpaisseur [0]-Tabht[n-1]/2;
for i:=1 to (Length(TabEpaisseur)-1) do
TabZInf[i]:=TabZInf[i-1]+TabEpaisseur [i];
for i:=1 to (Length(TabEpaisseur)-1) do
TabZSup[i]:=TabZSup[i-1]+TabEpaisseur[i];
End;
Ca marche, mais j'aimerais trouver plus simple et savoir pourquoi je suis obligé d'utiliser deux boucles pour stocker Zinf et Zsup, si je supprime la boucle avant
TabZSup[i]:=TabZSup[i-1]+TabEpaisseur[i]; ça marche pour une brique, mais après si ajoute d'autre briques il passe et reste à 0,je ne comprend pas 