Сортировка по убыванию после минимального элемента массива - C#
Формулировка задачи:
Помогите доделать задание, 1-ю часть и нахождение минимального элемента сделал.
1. Найти сумму модулей элементов, которые имеют дробную часть меньше 0.5.
2. Сортировать элементы, расположенные после минимального элемента по убыванию значений элементов.
Листинг программы
- int n;
- bool f;
- double sum = 0, min = 0;
- do
- {
- Console.Write("Введите количество элементов: ");
- f = int.TryParse(Console.ReadLine(), out n);
- if (f == false)
- Console.WriteLine("Ошибка! Введено некорректное значение");
- } while (!f);
- double[] arr = new double[n];
- Random rnd = new Random();
- for (int i = 0; i < arr.Length; i++)
- {
- double d = rnd.NextDouble() * (53.44 - (-10.34)) + (-10.34);
- arr[i] = Math.Round(d, 2);
- Console.WriteLine($"arr[{i}]={arr[i]}");
- int k = (int)d;
- double drob = d - k;
- if (drob < 0.5)
- {
- sum = sum + Math.Abs(d);
- }
- }
- Console.WriteLine();
- Console.WriteLine($"Сума = {sum:F2}");
- Console.WriteLine();
- for (int i = 0; i < arr.Length; i++)
- {
- if (min < arr[i])
- {
- min = arr[i];
- }
- }
- ...
- Console.WriteLine("После сортировки:");
- for (int i = 0; i < arr.Length; i++)
- {
- Console.WriteLine($"arr[{i}]={arr[i]}");
- }
- Console.ReadKey();
Решение задачи: «Сортировка по убыванию после минимального элемента массива»
textual
Листинг программы
- using System;
- using System.Linq;
- using System.Collections.Generic;
- public class Program
- {
- public static void Main()
- {
- int n;
- while (!Int32.TryParse(Console.ReadLine(), out n));
- List<double> lst = Enumerable.Repeat(new Random(), n).Select(r => r.NextDouble() * (53.44 + 10.34) - 10.34).ToList();
- Console.WriteLine(String.Join(", ", lst));
- Console.WriteLine(lst.Where(x => Math.Abs(x - Math.Truncate(x)) < 0.5).Sum(Math.Abs));
- int uptoMin = lst.IndexOf(lst.Min()) + 1;
- Console.WriteLine(String.Join(", ", lst.Take(uptoMin).Concat(lst.Skip(uptoMin).OrderByDescending(x => x))));
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д