Записать вместо максимального элемента вектора сумму положительных компонент - C#

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

Дан вектор А вещественных чисел. Записать вместо максимального ее элемента сумму положительных компонент. Подобное на С++ могу делать без особых усилий(потому что есть функция swap), но на С# дается достаточно сложно. Находил уже подобное обсуждение, но там был Делфи, а в нем уже есть встроенная функция сортировки. Заранее благодарен

Код к задаче: «Записать вместо максимального элемента вектора сумму положительных компонент - C#»

textual
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        double[] arr = { -1.1, 2.2, -3.3, 4.4, -5.5, 6.6, -7.7, 8.8, -9.9 };
        int max = arr.Select((Func<double, int, Tuple<double, int>>)Tuple.Create).Max().Item2;
        arr[max] = arr.Sum(x => Math.Max(x, 0.0));
        Console.WriteLine(String.Join(", ", arr));
    }
}

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


СОХРАНИТЬ ССЫЛКУ