public double CalculerPoid(TableauPeriodique tabPeriod) { Stack pile=new Stack(); double sommePoids=0; double sommeParen=0; double sommeTotal=0; foreach(string Jeton in this) { if (Jeton==")") { while(pile.Contains(")")) { sommeParen=(double)pile.Pop()+sommeParen; pile.Push(sommeParen); } } if (Jeton=="(") { pile.Push(Jeton); } if (!(Jeton==tabPeriod[Jeton].AbreEle)) { sommePoids=(double)pile.Pop()* System.Double.Parse(Jeton); pile.Push(sommePoids); } else { pile.Push(tabPeriod[Jeton].PoidEle); } } for(int i=0;i<=pile.Count;i++) { sommeTotal=(double)pile.Pop()+sommeTotal; } return sommeTotal; }