Добавление элементов массива на определенном промежутке - C#
Формулировка задачи:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
• Cумму элементов массива , расположенных между первым и вторым положительными элементами.
В ходе работы создать вспомогательный класс. Класс содержит методы, которые выполняют обработку массива согласно заданию. Методы вызываются в точке входа проекта.
Код накалякал, но где-то ошибку допустил. Помогите отладить.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication31
{
class Program
{
static void Main(string[] args)
{
int n;
Console.WriteLine("Введите кол-во элементов вашего массива");
n = int.Parse(Console.ReadLine());
Console.WriteLine("Введите массив чисел");
float[] arr = new float[n];
for (int i = 0; i < n; i++)
{
arr[i] = float.Parse(Console.ReadLine());
}
Console.WriteLine("SummaPoModuly= " + Function.SummModul(arr));
Console.ReadKey();
}
class Function
{
public static float SummModul(float[] b)
{
//Находим первый положительный элемент массива
int FirstPozElement = 0;
for (int i = 0; i < b.Length; i++)
{
if (b[i] > 0)
{
FirstPozElement = i;
break;
}
}
//Находим второй положительный элемент массива
int SecondPozElement = 0;
for (int i = FirstPozElement; i < b.Length; i++)
{
if (b[i] > 0)
{
SecondPozElement = j;
break;
}
//Находим сумму по модулю всех элементов между 1-ым и 2-ым положительным элементом
float sum = 0;
for (int i = FirstPozElement; i < j; i++)
{
sum += Math.Abs(b[i]);
}
return sum;
}
}
}
}
}Решение задачи: «Добавление элементов массива на определенном промежутке»
textual
Листинг программы
public static float GetSum(float[] b)
float sum = 0;
bool inSlice = false;
for (int i = 0; i < b.Length; i++) {
if (b[i] > 0) {
if (inSlice)
break;
inSlice = true;
continue;
}
if (inSlice)
sum += b[i];
}
return sum;
}