Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace MeanMedianMode
- {
- class Program
- {
- private static Random rng = new Random();
- private static int[] numberArray;
- private static double meanResult = 0;
- private static double medianResult = 0;
- private static double modeResult = 0;
- static void Main(string[] args)
- {
- numberArray = new int[10] { 64630, 11735, 11736, 99233, 14470, 4978, 73429, 38120, 51135, 67060 };
- Console.WriteLine($"Mean: {Mean(10).ToString("#.##")}");
- Console.WriteLine($"Median: {Median().ToString("#.##")}");
- Console.WriteLine($"Mode: {Mode()}");
- Console.ReadLine();
- }
- /*
- private static int[] CreateArray(int amountOfElements)
- {
- return numberArray = new int[amountOfElements];
- }
- private static void PopulateArray(int randomMaxValue)
- {
- for (int i = 0; i < numberArray.Length; i++)
- {
- numberArray[i] = rng.Next(10, randomMaxValue);
- }
- }
- */
- private static double Mean(int amountOfElements)
- {
- if (amountOfElements > numberArray.Length)
- {
- Console.WriteLine("Wrong amount of elements. Application will close.");
- Console.ReadLine();
- Environment.Exit(1);
- } else
- {
- for (int i = 0; i < amountOfElements; i++)
- {
- meanResult += numberArray[i];
- }
- }
- meanResult = meanResult / amountOfElements;
- return meanResult;
- }
- private static double Median()
- {
- int[] numberArray_Sorted = numberArray.OrderByDescending(x => x).ToArray();
- if (numberArray_Sorted.Length % 2 == 0)
- {
- int n1 = (numberArray_Sorted.Length / 2) -1;
- int n2 = (numberArray_Sorted.Length / 2);
- medianResult = (double)(numberArray_Sorted[n1] + numberArray_Sorted[n2]) / 2;
- } else
- if (numberArray_Sorted.Length % 2 != 0)
- {
- int pos = (numberArray_Sorted.Length / 2);
- medianResult = numberArray_Sorted[pos];
- }
- return medianResult;
- }
- private static double Mode()
- {
- Array.Sort(numberArray);
- var groups = numberArray.GroupBy(x => x).OrderByDescending(o => o.Count()).Select(s => s.Key).FirstOrDefault();
- modeResult = groups;
- return modeResult;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement