Вычислить сумму элементов и "сжать" массив - C#
Формулировка задачи:
Лабораторная работа № 9 по C#
Тема: «Обработка одномерных массивов. Сортировка массивов»
Вариант 4. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями
Нужна экстренная помощь!
За ранее благодарю!
Решение задачи: «Вычислить сумму элементов и "сжать" массив»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static void Main()
{
double[] arr = Enumerable.Repeat(new Random(), 10).Select(r => r.NextDouble() * 20.0 - 10.0).ToArray();
Console.WriteLine(String.Join(", ", arr.Select(x => x.ToString("F2"))));
Console.Write("Sum1: ");
Console.WriteLine(Enumerable.Range(0, arr.Length / 2).Select(i => arr[i * 2 + 1]).Sum());
Console.Write("Sum2: ");
Console.WriteLine(arr.SkipWhile(x => x >= 0).Skip(1).Reverse().SkipWhile(x => x >= 0).Skip(1).Sum());
int j = 0;
foreach (double n in arr.Where(x => Math.Abs(x) > 1.0))
{
arr[j++] = n;
}
while (j < arr.Length)
{
arr[j++] = 0.0;
}
Console.WriteLine(String.Join(", ", arr.Select(x => x.ToString("F2"))));
}
}