Добавление элементов массива на определенном промежутке - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы