Суть задания, юзер задает длину массива и значения для массива, и нужно найти среднее значение чисел в массиве не учитывая максимальное значение массива и минимальное. Как бы есть идея в виде:
(averrage - max - min) / length
Но хочется посмотреть какие ещё варианты есть
Вот что сделал:
using System;
namespace ConsoleApp13
{
class Program
{
static void Main(string[] args)
{
First first = new First();
Console.Write("Enter length array: ");
int length = Convert.ToInt32(Console.ReadLine());
int[] array = first.SetValues(length, new int[length]);
Console.WriteLine(first.Averrage(length, array));
}
}
class First
{
public int[] SetValues(int length, int[] arr)
{
int temp;
for (int i = 0; i < length; i++)
{
Console.Write($"Enter {i+1} number: ");
while (int.TryParse(Console.ReadLine(), out temp) && temp <= 2)
{
Console.Write("Enter number >2: ");
}
arr[i] = temp;
}
return arr;
}
public double Averrage(int length, int[] arr)
{
double averrage = 0;
int max = int.MinValue;
int min = int.MaxValue;
for (int i = 0; i <= length - 1; i++)
{
if (min > arr[i] )
{
min = arr[i];
}
if (max < arr[i])
{
max = arr[i];
}
averrage += arr[i];
}
return (averrage - max - min) / length;
}
}
}