В методе Main должно быть только объявление массива и не более одной Int переменной

Дан одномерный массив. Найти среднее арифметическое его элементов. Вывести на экран только те элементы массива, которые больше найденного среднего арифметического. В методе Main должно быть только объявление массива и не более одной int переменной.

Код уже есть, не знаю как сделать вторую часть задания.

static void Main(string[] args)
{
    uint size;
    size = uint.Parse(Console.ReadLine());
    int[] arr = new int[size];
    float sum = 0.0f;
    for (uint i = 0; i < size; ++i)
    {
        arr[i] = int.Parse(Console.ReadLine());
        sum += arr[i];
    }

    sum /= size;
    for (uint i = 0; i < size; ++i)
    {
        if (arr[i] > sum)
        {
            Console.Write(arr[i]);
        }
    }

    Console.ReadKey();
}

Ответы (1 шт):

Автор решения: aepot

Можно с помощью Linq

static void Main(string[] args)
{
    int[] arr = new int[int.Parse(Console.ReadLine())].Select(x => int.Parse(Console.ReadLine())).ToArray();
            
    int sum = arr.Aggregate(0, (x, y) => x + y);

    Console.WriteLine(string.Join(" ", arr.Where(x => x > (float)sum / arr.Length)));
    Console.ReadKey();
}

А если по-простому, то вот так

static void Main(string[] args)
{
    int[] arr = new int[int.Parse(Console.ReadLine())];
    int sum = 0;
    for (int i = 0; i < arr.Length; ++i)
    {
        arr[i] = int.Parse(Console.ReadLine());
        sum += arr[i];
    }

    for (int i = 0; i < arr.Length; ++i)
    {
        if (arr[i] > (float)sum / arr.Length)
        {
            Console.Write(arr[i] + " ");
        }
    }

    Console.ReadKey();
}
→ Ссылка