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);
    }
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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