Вычислить значения в одномерном массиве - C#
Формулировка задачи:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
а) сумму элементов массива с нечетными номерами;
б) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
Решение задачи: «Вычислить значения в одномерном массиве»
textual
Листинг программы
static void Main(string[] args)
{
int N = Convert.ToInt32(Console.ReadLine());
double[] Arr = new double[N];
Random rand = new Random();
for(int i = 0; i < Arr.Length; i++)
{
Arr[i] = Convert.ToDouble(Console.ReadLine());
}
double sum = 0.0;
int FInd = -1;
int LInd = -1;
for (int i = 0; i < Arr.Length; i++)
{
if(i % 2 != 0)
sum += Arr[i];
if(Arr[i] < 0)
{
LInd = i;
if(FInd == -1)
{
FInd = i;
}
}
}
double S_sum = 0;
for(int i = FInd + 1; i < LInd; i++)
{
S_sum += Arr[i];
}
int counter = 0;
for(int i = 0; i < Arr.Length; i++)
{
if(Math.Abs(Arr[i]) < 1)
{
Arr[i] = 0;
}
else
{
var value = Arr[i];
Arr[i] = Arr[counter];
Arr[counter] = value;
counter++;
}
}
Console.WriteLine("Cуммa элементов массива с нечетными номерами - " + sum);
Console.WriteLine("Cуммa элементов массива, расположенных между первым и последним отрицательными элементами - " + S_sum + '\n');
for(int i = 0; i < Arr.Length; i++)
{
Console.Write(Arr[i] + " ");
}
Console.ReadKey();
}