BVB Source Codes

Algorithm-Implementations Show Averages.cs Source code

Return Download Algorithm-Implementations: download Averages.cs Source code - Download Algorithm-Implementations Source code - Type:.cs
  1. 锘縰sing System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Average
  6. {
  7.         public static class Averages
  8.         {
  9.                 public static double ArithmeticMean(params double[] numbers)
  10.                 {
  11.                         return numbers.Average(); // That was easy
  12.                 }
  13.  
  14.                 public static double WeightedMean(double[] numbers, double[] weights)
  15.                 {
  16.                         double weightedSum = 0;
  17.  
  18.                         for (int i = 0; i < numbers.Length; i++)
  19.                                 weightedSum += numbers[i] * weights[i];
  20.  
  21.                         return weightedSum / weights.Sum();
  22.                 }
  23.  
  24.                 public static double HarmonicMean(params double[] numbers)
  25.                 {
  26.                         return 1.0 / ArithmeticMean(numbers.Select(x => 1.0 / x).ToArray());
  27.                 }
  28.  
  29.                 public static double GeometricMean(params double[] numbers)
  30.                 {
  31.                         double product = numbers[0];
  32.  
  33.                         for (int i = 1; i < numbers.Length; i++)
  34.                                 product *= numbers[i];
  35.  
  36.                         return Math.Pow(product, 1.0 / (double)numbers.Length);
  37.                 }
  38.  
  39.                 public static double QuadraticMean(params double[] numbers)
  40.                 {
  41.                         return GeneralizedMean(2.0, numbers);
  42.                 }
  43.  
  44.                 public static double GeneralizedMean(double power, params double[] numbers)
  45.                 {
  46.                         return Math.Pow(
  47.                                 ArithmeticMean(numbers.Select(x => Math.Pow(x, power)).ToArray()),
  48.                                 1.0 / power);
  49.                 }
  50.  
  51.                 public static double Midrange(params double[] numbers)
  52.                 {
  53.                         return ArithmeticMean(numbers.Min(), numbers.Max());
  54.                 }
  55.  
  56.                 public static double Median(params double[] numbers)
  57.                 {
  58.                         if (numbers.Length % 2 == 0)
  59.                                 return ArithmeticMean(numbers[(numbers.Length / 2) - 1], numbers[numbers.Length / 2]);
  60.                         else
  61.                                 return numbers[((numbers.Length + 1) / 2) - 1];
  62.                 }
  63.  
  64.                 public static double Mode(params double[] numbers)
  65.                 {
  66.                         Dictionary<double, int> frequencies = new Dictionary<double, int>();
  67.  
  68.                         foreach (double d in numbers)
  69.                                 if (frequencies.Keys.Contains(d))
  70.                                         frequencies[d]++;
  71.                                 else
  72.                                         frequencies.Add(d, 1);
  73.  
  74.                         double biggest = numbers[0];
  75.  
  76.                         for (int i = 1; i < numbers.Length; i++)
  77.                                 if (frequencies[numbers[i]] > frequencies[biggest])
  78.                                         biggest = numbers[i];
  79.  
  80.                         return biggest;
  81.                 }
  82.         }
  83. }
  84.  
downloadAverages.cs Source code - Download Algorithm-Implementations Source code
Related Source Codes/Software:
raty - 2017-04-22
RDVTabBarController - Highly customizable tabBar and tabBarController fo... 2017-04-22
material-icon-lib - Library containing over 1500 material vector icons... 2017-04-21
httpdiff - Perform the same request against two HTTP servers ... 2017-04-21
jquerytools - The missing UI library for the Web ... 2017-04-21
mcrouter - Mcrouter is a memcached protocol router for scalin... 2017-04-22
dynomite - A generic dynamo implementation for different k-v ... 2017-04-22
kityminder - Baidu brain figure 2017-04-22
llvm - Mirror of official llvm git repository located at ... 2017-04-22
RBBAnimation - Block-based animations made easy, comes with easin... 2017-04-22
ied - 2017-04-29
Nimble - A Matcher Framework for Swift and Objective-C 2017-04-29
MHVideoPhotoGallery - A Photo and Video Gallery 2017-04-29
shoulda-matchers - Collection of testing matchers extracted from Shou... 2017-04-29
Android-SlideExpandableListView - A better ExpandableListView, with animated expanda... 2017-04-29
AppSales-Mobile - App Sales allows iPhone and Mac App Store develope... 2017-04-29
react-templates - Light weight templates for react ... 2017-04-28
afterglow-theme - A minimal dark Theme for Sublime Text 2 and 3 2017-04-28
jwt-go - Golang implementation of JSON Web Tokens (JWT) 2017-04-28
DeerResume - Tool MarkDown online resume, online preview, edit,... 2017-04-28

 Back to top