
ПИТОН! 1. Дан одномерный вещественный массив А из N элементов (N<=50). Определить среднее
арифметическое отрицательных элементов массива, имеющих нечетные индексы и количество положительных элементов массива. 2. Дан одномерный вещественный массив А из N элементов (N<=50). Определить произведение положительных элементов, имеющих нечетные индексы и сумму отрицательных элементов, имеющих четные индексы (за один проход массива). 3. Дан одномерный вещественный массив А из N элементов (N<=50).Если сумма индексов положительных элементов четна, то поменять местами соседние элементы массива (первый со вторым, третий с четвертым и т. д.). 4. Дан одномерный вещественный массив А из N элементов (N<=50). Определить сколько раз менялся знак числа в массиве и индексы элементов , после которых он менялся.

Ответы на вопрос

№1
from random import randint
a = [] #положительные
b = [] #отрицательные
c = [] #сами числа
for i in range(int(input('Количество чисел: '))):
x = randint(-100, 100)
if x < 0 and i % 2 != 0:
b.append(x)
elif x > 0:
a.append(x)
c.append(x)
print('\nЧисла:', ', '.join(list(map(str, c))))
if len(b) != 0:
print('Среднее арифметическое отрицательных чисел с нечетными индексами:', sum(b)//len(b))
else:
print('Среднее арифметическое отрицательных чисел с нечетными индексами нет')
print('Количество положительных чисел:', len(a))
№2
from random import randint
a = 1 #положительные
b = 0 #отрицательные
c = [] #все числа
for i in range(int(input('Количество чисел: '))):
x = randint(-100, 100)
if x > 0 and i % 2 != 0:
a *= x
elif x < 0 and i % 2 == 0:
b += x
c.append(str(x))
print('\nЧисла:', ', '.join(c))
print('Произведение положительных элементов, имеющих нечетные индексы:', a)
print('Сумма отрицательных элементов, имеющих четные индексы:', b)
№3
from random import randint
c = [] #сами числа
s = 0 #сумма индексов
for i in range(int(input('Количество чисел: '))):
x = randint(-100, 100)
if x > 0:
s += 1
c.append(x)
print('\nЧисла:', ', '.join(list(map(str, c))))
if s % 2 == 0:
if len(c) % 2 == 0:
for i in range(0, len(c), 2):
c[i], c[i+1] = c[i+1], c[i]
else:
for i in range(0, len(c)-1, 2):
c[i], c[i+1] = c[i+1], c[i]
print('\nЧисла после замены:', ', '.join(list(map(str, c))))



Для выполнения задач на Python, вам нужно будет написать соответствующий код. Вот решения для каждой из задач:
- Определение среднего арифметического отрицательных элементов массива, имеющих нечетные индексы, и количество положительных элементов массива:
pythondef calculate_statistics(arr):
negative_sum = 0
negative_count = 0
positive_count = 0
for i in range(len(arr)):
if i % 2 != 0 and arr[i] < 0:
negative_sum += arr[i]
negative_count += 1
elif arr[i] > 0:
positive_count += 1
if negative_count == 0:
negative_avg = 0
else:
negative_avg = negative_sum / negative_count
return negative_avg, positive_count
# Пример использования:
arr = [1, -2, 3, -4, 5, -6]
negative_avg, positive_count = calculate_statistics(arr)
print("Среднее арифметическое отрицательных элементов:", negative_avg)
print("Количество положительных элементов:", positive_count)
- Определение произведения положительных элементов, имеющих нечетные индексы, и суммы отрицательных элементов, имеющих четные индексы:
pythondef calculate_product_and_sum(arr):
product_positive_odd = 1
sum_negative_even = 0
for i in range(len(arr)):
if i % 2 != 0 and arr[i] > 0:
product_positive_odd *= arr[i]
elif i % 2 == 0 and arr[i] < 0:
sum_negative_even += arr[i]
return product_positive_odd, sum_negative_even
# Пример использования:
arr = [1, -2, 3, -4, 5, -6]
product, sum_negative = calculate_product_and_sum(arr)
print("Произведение положительных элементов с нечетными индексами:", product)
print("Сумма отрицательных элементов с четными индексами:", sum_negative)
- Перестановка соседних элементов, если сумма индексов положительных элементов четна:
pythondef swap_neighbors_if_sum_even(arr):
positive_indices_sum = sum(i for i, x in enumerate(arr) if x > 0)
if positive_indices_sum % 2 == 0:
for i in range(0, len(arr) - 1, 2):
arr[i], arr[i + 1] = arr[i + 1], arr[i]
# Пример использования:
arr = [1, 2, 3, 4, 5, 6]
swap_neighbors_if_sum_even(arr)
print("Массив после перестановки:", arr)
- Определение, сколько раз менялся знак числа в массиве и индексы элементов, после которых он менялся:
pythondef count_sign_changes(arr):
sign_changes = 0
indices = []
prev_sign = 1 if arr[0] >= 0 else -1
for i in range(1, len(arr)):
current_sign = 1 if arr[i] >= 0 else -1
if current_sign != prev_sign:
sign_changes += 1
indices.append(i - 1)
prev_sign = current_sign
return sign_changes, indices
# Пример использования:
arr = [1, -2, 3, -4, 5, 6]
changes, change_indices = count_sign_changes(arr)
print("Количество изменений знака:", changes)
print("Индексы элементов, после которых меняется знак:", change_indices)
Эти функции могут быть применены к вашим массивам для решения соответствующих задач.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili