using System.Collections.Generic;
public static void Main() {
Queue<int> enterNumbers = new Queue<int>();
List<int> moreNumbers = new List<int>();
HashSet<int> set1 = new HashSet<int>();
Console.WriteLine("Number Statistics Calculator");
Console.WriteLine("--------------------------");
Console.WriteLine("Enter numbers (type 'done' when finished)");
while (enterNums != "done") {
Console.Write("Enter number: ");
enterNums = Console.ReadLine();
if (enterNums == "done") {
enterNumbers.Enqueue(Int32.Parse(enterNums));
while (enterNumbers.Count > 0) {
moreNumbers.Add(enterNumbers.Dequeue());
set1 = new HashSet<int>(moreNumbers);
Console.WriteLine("\nStatistics:");
Console.WriteLine("----------");
Console.WriteLine("Numbers entered: " + moreNumbers.Count);
Console.WriteLine($"Unique numbers: {set1.Count}");
for (int i = 0; i < moreNumbers.Count; i++) {
Console.WriteLine($"Average: {total/moreNumbers.Count:F1}");
if (moreNumbers.Count % 2 == 0) {
median = ((moreNumbers[(moreNumbers.Count/2)-1] + moreNumbers[moreNumbers.Count/2]) / 2.0);
median = moreNumbers[(moreNumbers.Count/2)];
Console.WriteLine($"Median: {median:F1}");
Console.Write("Numbers in ascending order: ");
for (int i = 0; i < moreNumbers.Count; i++) {
if (i == moreNumbers.Count - 1) {
Console.Write(moreNumbers[i] + "\n");
Console.Write(moreNumbers[i] + ", ");
Console.WriteLine("\nFrequency Analysis:");
int selectDistinct = 2147483647;
for (int k = 0; k < moreNumbers.Count; k++) {
if (moreNumbers[k] != selectDistinct) {
selectDistinct = moreNumbers[k];
for (int i = 0; i < moreNumbers.Count; i++) {
if (moreNumbers[i] == selectDistinct) {
Console.WriteLine(selectDistinct + " appears " + freCount + " time");
Console.WriteLine(selectDistinct + " appears " + freCount + " times");
Console.Write("\nWould you like to process another set? (y/n): ");
repeat = Console.ReadLine()[0];
while (repeat != 'y' && repeat != 'n') {
Console.Write("Sorry that input is not valid!\nWould you like to process another set? (y/n): ");
repeat = Console.ReadLine()[0];