На место минимального и максимального элементов поставить среднее значение - C#
Формулировка задачи:
Вечер добрый, помогите доделать код к задаче, половину сделал : нашёл минимальный, максимальный элемент и среднее значение элементов, а вот с перестановками элементов совсем не дружу...
На место минимального и максимального элементов поставить среднее значение. В
полученном массиве процедуру повторить. Средние и последний вариант массива являются результатом решения задачи.
Листинг программы
- int n;
- Console.WriteLine("Введите размерность МАССИВА");
- n = int.Parse(Console.ReadLine());
- {
- int[] mas = new int[n];
- Random rand = new Random();
- for (int i = 0; i < n; i++)
- {
- mas[i] = rand.Next(-21, 21);
- }
- for (int i = 0; i < n; ++i)
- Console.Write("\t" + mas[i]);
- Console.WriteLine();
- int min = mas[0];
- for (int i = 0; i < n; ++i)
- if (mas[i] <= min)
- //найдено минимальное значение
- min = mas[i];
- Console.WriteLine();
- Console.Write("Минимальное значение массива:\t" + min);
- int max = int.MinValue;
- for (int i = 0; i < mas.Length; i++)
- {
- if (mas[i]>max)
- {//найдено большее значение
- max = mas[i];}
- }
- Console.WriteLine();
- Console.WriteLine("Максимальное значение массива:\t" + max);
- double sum = 0;
- for (int i = 0; i < mas.Length; i++)
- {sum += mas[i];}
- Console.WriteLine("Среднее значение элементов массива " + sum / mas.Length);
- }
- Console.ReadKey();
Решение задачи: «На место минимального и максимального элементов поставить среднее значение»
textual
Листинг программы
- using System;
- using System.Linq;
- namespace ConsoleApp1
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.Write("Введите размерность массива: ");
- int n = int.Parse(Console.ReadLine());
- Random rnd = new Random();
- double[] mas = Enumerable.Range(0, n).Select(v => (double)rnd.Next(1, 20)).ToArray();
- Console.Write($"Исходный массив: {String.Join(" ", mas)}\n");
- for (int i = 0; i < mas.Length / 2; i++)
- {
- double ave = mas.Average();
- mas = mas.Select(v => v == mas.Max() ? ave : v == mas.Min() ? ave : v).ToArray();
- }
- Console.Write($"Результат: {String.Join(" ", mas.Select(v => v.ToString("#.###")))}");
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д