Отсортировать числа, находящихся между предпоследним и последним отрицательным членом последовательности - C#
Формулировка задачи:
Дана последовательность целых чисел. Вывести упорядоченную по убыванию последовательность, состоящую из чисел данной последовательности, находящихся между предпоследним и последним отрицательным членом последовательности.
Не могу ладу дать что не так делаю дошел пока только до поиска отрицательных последний находит как бы а предпоследний нет
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication6 { class Program { static void Main(string[] args) { int j, otric1=0, otric2=0; string strValue; int[] Mas = new int[10]; for (j = 0; j < 10; j++) { strValue = Console.ReadLine(); Mas[j] = Convert.ToInt32(strValue); } for (j = 0; j < 10; j++) { if(Mas[j]<0) { otric1 = Mas[j]; } if (Mas[j] < 0 && Mas[j] < otric1) { otric2 = Mas[j]; } } Console.WriteLine("\n Poslednii otricatelnii" + otric1 + "Predposlednii otricatelnii " + otric2); Console.ReadKey(); } } }
Решение задачи: «Отсортировать числа, находящихся между предпоследним и последним отрицательным членом последовательности»
textual
Листинг программы
using System; namespace ConsoleApplication6 { class Program { static void Main(string[] args) { int otric1 = -1, otric2 = -1; int[] Mas = { 1, 4, 2, 6, -2, 5, 7, -5, 2, 7, 4, 8, -2, -3, 5, 2 }; for (int i = Mas.Length - 1; i >= 0; i--) { if (Mas[i] < 0) { otric1 = i; break; } } for (int i = otric1 - 1; i >= 0; i--) { if (Mas[i] < 0) { otric2 = i; break; } } if (otric1 == -1 || otric2 == -1) { Console.WriteLine("Недостаточно отрицательных чисел!"); Console.ReadKey(); return; } int[] arr2 = new int[otric1 - otric2 - 1]; for (int i = 0; i < arr2.Length; i++) { arr2[i] = Mas[++otric2]; } Array.Sort(arr2); Array.Reverse(arr2); Console.WriteLine(string.Join(" ", arr2)); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д