Advertisement
datenshiddd

Mean, Median, Mode C#

Jan 5th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace MeanMedianMode
  8. {
  9.     class Program
  10.     {
  11.         private static Random rng = new Random();
  12.  
  13.         private static int[] numberArray;
  14.         private static double meanResult = 0;
  15.         private static double medianResult = 0;
  16.         private static double modeResult = 0;
  17.  
  18.         static void Main(string[] args)
  19.         {
  20.             numberArray = new int[10] { 64630, 11735, 11736, 99233, 14470, 4978, 73429, 38120, 51135, 67060 };
  21.  
  22.             Console.WriteLine($"Mean: {Mean(10).ToString("#.##")}");
  23.             Console.WriteLine($"Median: {Median().ToString("#.##")}");
  24.             Console.WriteLine($"Mode: {Mode()}");
  25.  
  26.             Console.ReadLine();
  27.         }
  28.  
  29.         /*
  30.         private static int[] CreateArray(int amountOfElements)
  31.         {
  32.             return numberArray = new int[amountOfElements];
  33.         }
  34.  
  35.         private static void PopulateArray(int randomMaxValue)
  36.         {
  37.             for (int i = 0; i < numberArray.Length; i++)
  38.             {
  39.                 numberArray[i] = rng.Next(10, randomMaxValue);
  40.             }
  41.         }
  42.         */
  43.  
  44.         private static double Mean(int amountOfElements)
  45.         {
  46.             if (amountOfElements > numberArray.Length)
  47.             {
  48.                 Console.WriteLine("Wrong amount of elements. Application will close.");
  49.                 Console.ReadLine();
  50.                 Environment.Exit(1);
  51.             } else
  52.             {
  53.                 for (int i = 0; i < amountOfElements; i++)
  54.                 {
  55.                     meanResult += numberArray[i];
  56.                 }
  57.             }
  58.             meanResult = meanResult / amountOfElements;
  59.  
  60.             return meanResult;
  61.         }
  62.  
  63.         private static double Median()
  64.         {
  65.             int[] numberArray_Sorted = numberArray.OrderByDescending(x => x).ToArray();
  66.  
  67.             if (numberArray_Sorted.Length % 2 == 0)
  68.             {
  69.                 int n1 = (numberArray_Sorted.Length / 2) -1;
  70.                 int n2 = (numberArray_Sorted.Length / 2);
  71.                 medianResult = (double)(numberArray_Sorted[n1] + numberArray_Sorted[n2]) / 2;
  72.             } else
  73.             if (numberArray_Sorted.Length % 2 != 0)
  74.             {
  75.                 int pos = (numberArray_Sorted.Length / 2);
  76.                 medianResult = numberArray_Sorted[pos];
  77.             }
  78.  
  79.             return medianResult;
  80.         }
  81.  
  82.         private static double Mode()
  83.         {
  84.             Array.Sort(numberArray);
  85.             var groups = numberArray.GroupBy(x => x).OrderByDescending(o => o.Count()).Select(s => s.Key).FirstOrDefault();
  86.             modeResult = groups;
  87.             return modeResult;
  88.         }
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement