Отсортировать числа, находящихся между предпоследним и последним отрицательным членом последовательности - 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();
}
}
}