Добавление элементов массива на определенном промежутке - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д