Подсчет среднего значения из элементов словаря - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Помогите разобраться, так как застрял немного. Есть словарь:
Листинг программы
  1. Dictionary<string, double> Exp = new Dictionary<string, double>()
  2. {
  3. // кольори
  4. ["red"] = 0.8,
  5. ["orange"] = 0.8,
  6. ["pink"] = 0.8,
  7. ["yellow"] = 0.8,
  8. ["green"] = 0.8,
  9. ["blue"] = 0.8,
  10. ["violet"] = 0.8,
  11. ["black"] = 0.8,
  12. ["brown"] = 0.8,
  13. ["white"] = 0.8
  14. ...
  15. }
И есть некий объект:
Листинг программы
  1. public class SomeObject
  2. {
  3. ...
  4. // кольори
  5. bool red = true,
  6. orange = false,
  7. yellow = true,
  8. green = false,
  9. blue = false,
  10. violet = false,
  11. black = true,
  12. brown = false,
  13. white = false
  14. ...
  15. }
Свойства объекта могут быть различными. Надо, каким-то образом, в зависимости от свойств объекта, подсчитать среднее арифметическое из словаря. В данном случае (0,8+0,8+0,8)/3. Как бы это можно было реализовать?

Решение задачи: «Подсчет среднего значения из элементов словаря»

textual
Листинг программы
  1. public double Calculate_Motivation(SomeObject a) //підраховуєм мотивацію
  2. {
  3.     double sum = 0;
  4.     int count = 0;
  5.     foreach (var field in a.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
  6.         if (Exp.ContainsKey(field.Name) && (bool)(field.GetValue(a)) && GlobalVars.IsBool(a))
  7.         {
  8.             count++;
  9.             sum += Exp[field.Name];
  10.         }
  11.     return (sum / count);
  12. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы