Каждому положительному элементу массива, должен предшествовать отрицательный элемент

Задача стоит такая: Всем ли положительным элементам массива, предшествуют отрицательные? Нужно просмотреть три массива и напечатать на экраны названия тех массивов, где данное условие не соблюдено.

Я написал метод генерации случайными числами массив

    public static int[] GenerationArray()
    {
        Console.Write("Введите длину массива: ");
        int lenght = int.Parse(Console.ReadLine());
        collection = new int[lenght];
        Console.WriteLine("В каком диапазоне заполнить массив?");
        Console.Write("От: ");
        int indexAt = int.Parse(Console.ReadLine());
        Console.Write("До: ");
        int indexEnd = int.Parse(Console.ReadLine());
        Random random = new Random();
        for (int i = 0; i < lenght; i++)
        {
            collection[i] = random.Next(indexAt, indexEnd);
        }
        return collection;
    }

Нужно написать метод, который и проверяет данное условие

    public static bool Check(int[] collection)
    {
        for (int i = 0; i < collection.Length; i++)
        {
            for (int j = 0; i < collection.Length; j++)
            {
                if (collection[i] < 0 && collection[j] > 0)
                    return true;
            }
        }
        return false;
    }

Итого: Метод говорит, что всё хорошо, если в массиве уже есть одно отрицательно число, мне же нужно сделать так, чтобы он сказал норм, если элементы массива идут примерно так:

  1. [-1, 2, -12, 23, -2, 1] - это норм и удовлетворяет условию
  2. [-1, -2, 2, 23, 49, -2, 2] - такой массив не удовлетворяет условию

Ответы (1 шт):

Автор решения: Andrew

код писал из головы и не проверял.

Тестируй)

public static bool Check(int[] collection)
{
    if ( collection[0] >= 0 )
        return false;

    for (int i = 1; i < collection.Length; i++)
    {
        if ( collection[i] >= 0 && collection[i-1] >= 0) 
            return false;
    }

    return true;
}

только здесь нету проверки на пустой массив если что - неясно как должна вести себя программа - это тру или фалс. В даном коде - будет исключение Out of range.

А еще я не совсем уверен как обрабатывать ситуцию 0. Ноль это положительное число? Должна ли предшествовать перед 0 минусовая ячейка?

→ Ссылка