Записать вместо максимального элемента вектора сумму положительных компонент - C#
Формулировка задачи:
Дан вектор А вещественных чисел. Записать вместо максимального ее элемента сумму положительных компонент.
Подобное на С++ могу делать без особых усилий(потому что есть функция swap), но на С# дается достаточно сложно. Находил уже подобное обсуждение, но там был Делфи, а в нем уже есть встроенная функция сортировки.
Заранее благодарен
Решение задачи: «Записать вместо максимального элемента вектора сумму положительных компонент»
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));
}
}