Найти сумму элементов массива, расположенных после последнего элемента, равного нулю - C# (192227)
Формулировка задачи:
Было задание : В одномерном массиве , состоящем из п действительных элементов , вычислить : количество положительных элементов массива ; сумму элементов массива , расположенных после последнего элемента равного нулю.
Превратить массив таким образом , чтобы сначала располагались все элементы , целая часть которых не превышает единицу , а затем - все остальные.
Проблема с последним : Превратить массив таким образом , чтобы сначала располагались все элементы , целая часть которых не превышает единицу , а затем - все остальные.
Помогите кто-то please . Очень нужно. Вот код : (сортировка должна ити отдельным методом)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { C2 l = new C2(); l.meji(); l.vvid(); l.getelevent(); l.suma(); l.kikist(); l.vuvid(); Console.ReadLine(); } } class C1 { public double s, x; public int k, n, i, u, j, c, b, aindex, y; public double[] a = new double[1000]; public bool error; public void meji() { Console.WriteLine("Введіть c"); c = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введіть b"); b = Convert.ToInt32(Console.ReadLine()); n = b - c + 1; } public void vvid() { for (i = 0; i < n; i++) { Console.WriteLine("a" + "[" + (i+c) + "]="); a[i] = Convert.ToDouble(Console.ReadLine()); } } public void vuvid() { for (i = 0; i < n; i++) { Console.WriteLine("a[" + (i+c) + "]=" +a[i]); } } } class C2 : C1 { public void kikist() { for (i = 0; i < n ; i++) { if (a[i]>0) { k++; } } Console.WriteLine("kikist=" + k); } public void suma() { j = 0; s = 0; for (i = 0; i < n; i++) { if (a[i] == 0) { j = i; } } for (i = j; i < n; i++) s += a[i]; Console.WriteLine("Summa=" + s); } public double this[int index] { set { if(index>=c && index>=b) { error=false; a[index]=value; } else error = true; } get { if (index >= c && index <= b) { error = false; return a[index - c]; } else { error = true; return 0; } } } public void getelevent() { Console.WriteLine("aindex="); aindex = Convert.ToInt32(Console.ReadLine()); x = this[aindex]; if (error==true) Console.WriteLine("елемент не існує"); else Console.WriteLine("a[" +aindex +"]=" +x); } }
Решение задачи: «Найти сумму элементов массива, расположенных после последнего элемента, равного нулю»
textual
Листинг программы
using System; namespace ConsoleApplication185 { class Program { static void Main(string[] args) { var array = new double[] {3, 4, -0.6, -2.1, 1, 0.3, 0.1, 2.4}; Array.Sort(array, (f1, f2) =>(Math.Abs(f1) > 1).CompareTo(Math.Abs(f2) > 1)); Console.WriteLine(string.Join(", ", array)); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д