Вопрос от Анонимного юзера 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))
Если тебе нужно более подробно объяснить либо есть конкретный массив, присылай — помогу разобраться!
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



