На место минимального и максимального элементов поставить среднее значение - C#

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

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

Вечер добрый, помогите доделать код к задаче, половину сделал : нашёл минимальный, максимальный элемент и среднее значение элементов, а вот с перестановками элементов совсем не дружу... На место минимального и максимального элементов поставить среднее значение. В полученном массиве процедуру повторить. Средние и последний вариант массива являются результатом решения задачи.
Листинг программы
  1. int n;
  2. Console.WriteLine("Введите размерность МАССИВА");
  3. n = int.Parse(Console.ReadLine());
  4. {
  5. int[] mas = new int[n];
  6. Random rand = new Random();
  7. for (int i = 0; i < n; i++)
  8. {
  9. mas[i] = rand.Next(-21, 21);
  10. }
  11. for (int i = 0; i < n; ++i)
  12. Console.Write("\t" + mas[i]);
  13. Console.WriteLine();
  14.  
  15. int min = mas[0];
  16. for (int i = 0; i < n; ++i)
  17. if (mas[i] <= min)
  18. //найдено минимальное значение
  19. min = mas[i];
  20. Console.WriteLine();
  21. Console.Write("Минимальное значение массива:\t" + min);
  22.  
  23. int max = int.MinValue;
  24. for (int i = 0; i < mas.Length; i++)
  25. {
  26. if (mas[i]>max)
  27. {//найдено большее значение
  28. max = mas[i];}
  29. }
  30. Console.WriteLine();
  31. Console.WriteLine("Максимальное значение массива:\t" + max);
  32.  
  33. double sum = 0;
  34. for (int i = 0; i < mas.Length; i++)
  35. {sum += mas[i];}
  36. Console.WriteLine("Среднее значение элементов массива " + sum / mas.Length);
  37. }
  38. Console.ReadKey();

Решение задачи: «На место минимального и максимального элементов поставить среднее значение»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApp1
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Console.Write("Введите размерность массива: ");
  11.             int n = int.Parse(Console.ReadLine());
  12.             Random rnd = new Random();
  13.             double[] mas = Enumerable.Range(0, n).Select(v => (double)rnd.Next(1, 20)).ToArray();
  14.             Console.Write($"Исходный массив: {String.Join(" ", mas)}\n");
  15.             for (int i = 0; i < mas.Length / 2; i++)
  16.             {
  17.                 double ave = mas.Average();
  18.                 mas = mas.Select(v => v == mas.Max() ? ave : v == mas.Min() ? ave : v).ToArray();
  19.             }
  20.             Console.Write($"Результат: {String.Join(" ", mas.Select(v => v.ToString("#.###")))}");
  21.             Console.ReadKey();
  22.         }
  23.     }
  24. }

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


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

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

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы