Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Написать программы на языке программирования Python.Решить задачи на обработку одномерных массивов.

Решить задачи на обработку одномерных массивов (массив формируется с помощью генератора случайных чисел):

Задание 1. Найти количество локальных максимумов, т. е. элементов, больших своих соседей. У крайних элементов только один сосед.

Задание 2. Поменять местами максимальных и минимальный элементы массива.

Задание 3. Найти сумму нечетных положительных элементов первой половины массива.

Дополнен

НЕ НЕЙРОСЕТЬЮ, ПОЖАЛУЙСТА!)))

По дате
По рейтингу
Аватар пользователя
Просветленный
11мес
123456789101112131415161718192021222324252627282930313233343536373839
 import random 
 
# Задание 1 
def find_local_max(arr): 
  count = 0 
  for i in range(len(arr)): 
    if i == 0: 
      if arr[i] > arr[i+1]: 
        count += 1 
    elif i == len(arr) - 1: 
      if arr[i] > arr[i-1]: 
        count += 1 
    else: 
      if arr[i] > arr[i-1] and arr[i] > arr[i+1]: 
        count += 1 
  return count 
 
# Задание 2 
def swap_max_min(arr): 
  max_index = arr.index(max(arr)) 
  min_index = arr.index(min(arr)) 
  arr[max_index], arr[min_index] = arr[min_index], arr[max_index] 
  return arr 
 
# Задание 3 
def sum_odd_positive(arr): 
  sum = 0 
  for i in range(len(arr) // 2): 
    if arr[i] > 0 and arr[i] % 2 != 0: 
      sum += arr[i] 
  return sum 
 
# Пример использования 
arr = [random.randint(-10, 10) for _ in range(10)] 
print(f"Массив: {arr}") 
 
print(f"Количество локальных максимумов: {find_local_max(arr)}") 
print(f"Массив после замены максимального и минимального элементов: {swap_max_min(arr)}") 
print(f"Сумма нечетных положительных элементов первой половины массива: {sum_odd_positive(arr)}") 
Аватар пользователя
Ученик
6мес

import random

# Задание 1
def find_local_max(arr):
count = 0
for i in range(len(arr)):
if i == 0:
if arr[i] > arr[i+1]:
count += 1
elif i == len(arr) - 1:
if arr[i] > arr[i-1]:
count += 1
else:
if arr[i] > arr[i-1] and arr[i] > arr[i+1]:
count += 1
return count

# Задание 2
def swap_max_min(arr):
max_index = arr.index(max(arr))
min_index = arr.index(min(arr))
arr[max_index], arr[min_index] = arr[min_index], arr[max_index]
return arr

# Задание 3
def sum_odd_positive(arr):
sum = 0
for i in range(len(arr) // 2):
if arr[i] > 0 and arr[i] % 2 != 0:
sum += arr[i]
return sum

# Пример использования
arr = [random.randint(-10, 10) for _ in range(10)]
print(f"Массив: {arr}")

print(f"Количество локальных максимумов: {find_local_max(arr)}")
print(f"Массив после замены максимального и минимального элементов: {swap_max_min(arr)}")
print(f"Сумма нечетных положительных элементов первой половины массива: {sum_odd_positive(arr)}")