Отсортировать числа, находящихся между предпоследним и последним отрицательным членом последовательности - C#

Узнай цену своей работы

Формулировка задачи:

Дана последовательность целых чисел. Вывести упорядоченную по убыванию последовательность, состоящую из чисел данной последовательности, находящихся между предпоследним и последним отрицательным членом последовательности. Не могу ладу дать что не так делаю дошел пока только до поиска отрицательных последний находит как бы а предпоследний нет
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication6
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int j, otric1=0, otric2=0;
  13. string strValue;
  14. int[] Mas = new int[10];
  15. for (j = 0; j < 10; j++)
  16. {
  17. strValue = Console.ReadLine();
  18. Mas[j] = Convert.ToInt32(strValue);
  19. }
  20. for (j = 0; j < 10; j++)
  21. {
  22. if(Mas[j]<0)
  23. {
  24. otric1 = Mas[j];
  25. }
  26. if (Mas[j] < 0 && Mas[j] < otric1)
  27. {
  28. otric2 = Mas[j];
  29. }
  30. }
  31. Console.WriteLine("\n Poslednii otricatelnii" + otric1 + "Predposlednii otricatelnii " + otric2);
  32. Console.ReadKey();
  33. }
  34. }
  35. }

Решение задачи: «Отсортировать числа, находящихся между предпоследним и последним отрицательным членом последовательности»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace ConsoleApplication6
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int otric1 = -1, otric2 = -1;
  10.             int[] Mas = { 1, 4, 2, 6, -2, 5, 7, -5, 2, 7, 4, 8, -2, -3, 5, 2 };
  11.             for (int i = Mas.Length - 1; i >= 0; i--)
  12.             {
  13.                 if (Mas[i] < 0)
  14.                 {
  15.                     otric1 = i;
  16.                     break;
  17.                 }
  18.             }
  19.             for (int i = otric1 - 1; i >= 0; i--)
  20.             {
  21.                 if (Mas[i] < 0)
  22.                 {
  23.                     otric2 = i;
  24.                     break;
  25.                 }
  26.             }
  27.             if (otric1 == -1 || otric2 == -1)
  28.             {
  29.                 Console.WriteLine("Недостаточно отрицательных чисел!");
  30.                 Console.ReadKey();
  31.                 return;
  32.             }
  33.             int[] arr2 = new int[otric1 - otric2 - 1];
  34.             for (int i = 0; i < arr2.Length; i++)
  35.             {
  36.                 arr2[i] = Mas[++otric2];
  37.             }
  38.             Array.Sort(arr2);
  39.             Array.Reverse(arr2);
  40.             Console.WriteLine(string.Join(" ", arr2));
  41.             Console.ReadKey();
  42.         }
  43.     }
  44. }

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы