Помогите написать программу в С#. В массиве А=(а1,а2,...,аn) удалить последнюю группу...

0 голосов
59 просмотров

Помогите написать программу в С#.
В массиве А=(а1,а2,...,аn) удалить последнюю группу положительных элементов. Группой называется подряд идущие элементы одного знака, число которых больше или равно 2.


Информатика (280 баллов) | 59 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Using System;
namespace СиШарп
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("N = ");
            int N = int.Parse(Console.ReadLine());
            Console.Write("A({0}):",N);
            int[] A = new int[N];
            Random RND = new Random();
            for (int i = 0; i < N; i++)
            {
                A[i] = RND.Next(-N,N+1);
                Console.Write(" {0}",A[i]);
            }
            for (int i = N - 1; i >= 0 && A[i] < 0; i--) ;
            int L = 0, j = N;
            while (j > 0)
                if (A[--j] > 0) L++;
                else
                    if (L < 2) L = 0;
                    else break;
            for(int i = j + L + 1; i < N; i++)
                A[i - L] = A[i];
            Console.Write("\nA({0}):",N-L);
            for (int i = 0; i < N - L; i++)
                Console.Write(" {0}",A[i]);
            Console.ReadKey();
        }
    }
}

(6.6k баллов)