[ad_1]
ما متوسط درجتي المرجحة إذا كان لدي درجات في ثلاث مواد على التوالي 67،54،98 بوزن 32،12،45 على التوالي. أعرف الصيغة =(67*32)+(54*12)+(98*45)/(32+12+45) لكني لا أعرف كيف تعمل إذا كنت أستخدم الحلقة.
الحل 1
الحل أ،
يمكنك استخدام صفيفين. واحد للأرقام وواحد للأوزان المقابلة.
ج #
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()) }
الحل ب،
يمكنك استخدام فئة محددة مسبقًا لتخزين أوزان أرقامك النهائية
ج #
public class WeightedNumber { public double Number {get; set; } public double Weight{get; set; } } List<wightednumber> _numbers;</wightednumber>
والباقي يبدو أكثر أو أقل نفس الشيء
الحل 2
يمكنك استخدام الدرجات، أي {67، 54، 98} لوضع حلقة مثل ما يلي
ج #
var _average = 0; for(int i = 0; i < scores.Count(); i++) { _average += ((scores[i] * weights[i])) } _average = (_average/ (weights.Sum()) * 100;
اقرأ المقالات أدناه لمعرفة كيفية عمل الصيغة فعليًا والطرق المختلفة لحسابها:
شرط, صيغة محددة
[ad_2]
コメント