Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 03 мая 2025 12:44

Дан массив из N целых чисел. Выяснить, какое число встречается в массиве раньше – положительное или отрицательное.

Ответ нейросети

03 мая 2025 12:44

Для решения задачи нужно определить, какое число появляется впервые в массиве — положительное или отрицательное. Иными словами, нужно пройти по массиву и найти первый элемент, являющийся либо положительным, либо отрицательным, и потом определить, какой тип чисел появился первым.

Вот пошаговое решение:

Шаг 1. Инициализация

Объявляем две переменные:

  • first_positive_index — индекс первого положительного числа, изначально равен -1.
  • first_negative_index — индекс первого отрицательного числа, изначально равен -1.

Шаг 2. Поиск первого положительного и отрицательного числа

Обходя массив с начала:

  • Если встречается положительное число и first_positive_index ещё не определён, запоминаем его индекс.
  • Если встречается отрицательное число и first_negative_index ещё не определён, запоминаем его индекс.

Шаг 3. Определение результата

  • Если оба индекса найдены, сравниваем их:
    • Если first_positive_index меньше, значит сначала было положительное число.
    • Если first_negative_index меньше, значит сначала было отрицательное число.
  • Если найден только один тип числа, он и был первым.

Пример:

Рассмотрим массив: [ -3, 2, -5, 4 ]

  • Первый отрицательный — индекс 0 (-3)
  • Первый положительный — индекс 1 (2)
  • Первый положительный встречается раньше, значит положительное число встретилось раньше.

Полная реализация на Python:

def first_positive_or_negative(arr):
    first_positive_index = -1
    first_negative_index = -1

    for i, num in enumerate(arr):
        if num > 0 and first_positive_index == -1:
            first_positive_index = i
        elif num < 0 and first_negative_index == -1:
            first_negative_index = i

        # Если оба найдены, можем прервать цикл
        if first_positive_index != -1 and first_negative_index != -1:
            break

    if first_positive_index == -1 and first_negative_index == -1:
        return "В массиве нет ни положительных, ни отрицательных чисел"
    elif first_positive_index == -1:
        return "Первым встретилось отрицательное число"
    elif first_negative_index == -1:
        return "Первым встретилось положительное число"
    else:
        if first_positive_index < first_negative_index:
            return "Положительное число встречается раньше"
        else:
            return "Отрицательное число встречается раньше"

# Пример использования:
arr = [ -3, 2, -5, 4 ]
print(first_positive_or_negative(arr))

Если тебе нужно более подробно объяснить либо есть конкретный массив, присылай — помогу разобраться!

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Дан массив из N целых чисел. Выяснить, какое число встречается в массиве раньше – положительное или отрицательное.
Для решения задачи нужно определить, какое число появляется впервые в массиве — положительное или отрицательное. Иными словами, нужно пройти по массиву и найти первый элемент, являющийся либо положительным, либо отрицательным, и потом определить, какой тип чисел появился первым. Вот пошаговое решение: ### Шаг 1. Инициализация Объявляем две переменные: - `first_positive_index` — индекс первого положительного числа, изначально равен `-1`. - `first_negative_index` — индекс первого отрицательного числа, изначально равен `-1`. ### Шаг 2. Поиск первого положительного и отрицательного числа Обходя массив с начала: - Если встречается положительное число и `first_positive_index` ещё не определён, запоминаем его индекс. - Если встречается отрицательное число и `first_negative_index` ещё не определён, запоминаем его индекс. ### Шаг 3. Определение результата - Если оба индекса найдены, сравниваем их: - Если `first_positive_index` меньше, значит сначала было положительное число. - Если `first_negative_index` меньше, значит сначала было отрицательное число. - Если найден только один тип числа, он и был первым. ### Пример: Рассмотрим массив: `[ -3, 2, -5, 4 ]` - Первый отрицательный — индекс 0 (`-3`) - Первый положительный — индекс 1 (`2`) - Первый положительный встречается раньше, значит положительное число встретилось раньше. --- ### Полная реализация на Python: ```python def first_positive_or_negative(arr): first_positive_index = -1 first_negative_index = -1 for i, num in enumerate(arr): if num > 0 and first_positive_index == -1: first_positive_index = i elif num < 0 and first_negative_index == -1: first_negative_index = i # Если оба найдены, можем прервать цикл if first_positive_index != -1 and first_negative_index != -1: break if first_positive_index == -1 and first_negative_index == -1: return "В массиве нет ни положительных, ни отрицательных чисел" elif first_positive_index == -1: return "Первым встретилось отрицательное число" elif first_negative_index == -1: return "Первым встретилось положительное число" else: if first_positive_index < first_negative_index: return "Положительное число встречается раньше" else: return "Отрицательное число встречается раньше" # Пример использования: arr = [ -3, 2, -5, 4 ] print(first_positive_or_negative(arr)) ``` --- Если тебе нужно более подробно объяснить либо есть конкретный массив, присылай — помогу разобраться!