LINQ-запрос для нахождения произведения - C#

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

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

Необходимо написать LINQ-запрос, находящий произведение элементов массива, расположенных мажду максимальным по модулю и минимальным по модулю элементом. Помогите!

Решение задачи: «LINQ-запрос для нахождения произведения»

textual
Листинг программы
using System;
using System.Linq;
 
class Program
{
    static void Main()
    {
        var array = new[] { 5, 6, 3, 4, 1, 3 };
        long start = 0, end = 0;
        int result = 0;
        start = GC.GetTotalMemory(true);
        result = array
                    .Skip(array.Select((i, index) => new { index, i }).First((n) => n.i == array.Max(el => Math.Abs(el))).index)
                    .Take(array.Select((i, index) => new { index, i }).First((n) => n.i == array.Min(el => Math.Abs(el))).index -
                        array.Select((i, index) => new { index, i }).First((n) => n.i == array.Max(el => Math.Abs(el))).index)
                    .Aggregate(1, (current, c) => current * c);
        end = GC.GetTotalMemory(true);
        Console.WriteLine("Memory: {0} bytes", end - start);
        Console.WriteLine("Result: {0}", result);
    }
}

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


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

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

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