Удалить в упорядоченном по убыванию массиве числа меньшие или равные среднему арифметическому элементов массив - C#

Узнай цену своей работы

Формулировка задачи:

Удалить в упорядоченном по убыванию массиве числа меньшие или равные среднему арифметическому элементов массива.Не знаю как найти среднее арифметическое число и удалить
            int n = Convert.ToInt32(Console.ReadLine());
            int[] mas = new int[n];
            Random a = new Random();
            int i, j, k = 0, max;
            int b = n;
            for (i = 0; i < n; i++)
                mas[i] = a.Next(0, 40);
            for (i = 0; i < n; i++)
                Console.Write("{0,4:0.#}", mas[i]);
            Console.WriteLine();
            max=mas[0];
            
            for (i = 0; i < n-1; i++)
            {
                
                for (j = i+1; j < n ; j++)
                {
                    if (mas[i] < mas[j])
                    {
                        k = mas[i];
                        mas[i] = mas[j];
                        mas[j] = k;
 
                    }
                }
            }
            for (i = 0; i < n; i++)
                Console.Write("{0,4:0.#}", mas[i]);
            Console.ReadKey();

Решение задачи: «Удалить в упорядоченном по убыванию массиве числа меньшие или равные среднему арифметическому элементов массив»

textual
Листинг программы
using System;
 
namespace ConsoleApplication2
{
    internal class Program
    {
 
        private static void Main(string[] args)
        {
            Console.Write("Count:");
            int count = Convert.ToInt32(Console.ReadLine());
            var arr = new int[count];
            var rnd = new Random();
 
 
            double summ = 0,avarage;
            for (int i = 0; i < count; i++)
            {
                arr[i] = rnd.Next(0, 40);
                summ += arr[i];
            }
            Console.WriteLine(string.Join(" ",arr));
            Console.WriteLine("Sum {0}",summ);
            Console.WriteLine("Avarage:{0:f1}",avarage=summ/arr.Length);
            
            for (int i = 0; i < count - 1; i++)
            {
 
                for (int j = i + 1; j < count; j++)
                {
                    if (arr[i] < arr[j])
                    {
                       int  k = arr[i];
                        arr[i] = arr[j];
                        arr[j] = k;
 
                    }
                }
            }
           int index= Array.FindIndex(arr, e =>e<=avarage);
            Array.Resize(ref arr,index);
            Console.WriteLine(string.Join(" ",arr));
           
 
        }
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы