Calculateur de moyenne pondérée

la programmation


quelle est ma note moyenne pondérée si j’ai des notes dans trois matières respectivement de 67,54,98 avec un poids de respectivement 32,12,45. je connais la formule =(67*32)+(54*12)+(98*45)/(32+12+45) mais je ne sais pas comment ça marche si j’utilise la boucle for.

Solution 1

SolutionA,

vous pouvez utiliser deux tableaux. Un pour les chiffres, un pour les poids correspondants.

C#
public double[] _number = new double[] {67,54,98};
public double[] _weights = new double[] {32,12,45};

then: 

double _wavg = 0;

for(int i = 0; i < _number.Count(); i++)
{
   _wavg += ((_number[i] * _weight[i]) / (_weights.Sum())

}

SolutionB,

Vous pouvez utiliser une classe prédéfinie pour stocker les poids finaux de vos nombres

C#
public class WeightedNumber
{
   public double Number {get; set; }
   public double Weight{get; set; }

}

List<wightednumber> _numbers;</wightednumber>

Le reste est plus ou moins pareil

Solution 2

vous pouvez utiliser les scores, c’est-à-dire {67, 54, 98} pour mettre une boucle for quelque chose comme ci-dessous

C#
var _average = 0;
for(int i = 0; i < scores.Count(); i++)
{
   _average += ((scores[i] * weights[i]))

}
_average = (_average/ (weights.Sum()) * 100;

Lisez les articles ci-dessous pour savoir comment fonctionne réellement la formule et les différentes façons de la calculer :
article, formule spécifiée

コメント

タイトルとURLをコピーしました