Циклические алгоритмы. Обработка последовательностей и одномерных массивов. Задача №45 46 47


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

Решение:

import random

N = 11


def init_random_list(list_size):
    list = []
    while list_size > 0:
        list.append(random.randint(-3, 3))
        list_size = list_size - 1

    return list


lst = init_random_list(N)
sum_positive = 0
sum_negative = 0

print("Исходный массив:        ", lst)

for element in lst:
    if element >= 0:
        sum_positive += element
    else:
        sum_negative += element * -1

if sum_positive > sum_negative:
    lst.append(sum_negative - sum_positive)
elif sum_positive < sum_negative:
    lst.append(sum_negative - sum_positive)

print("Сумма положительных чисел", sum_positive)
print("Модуль суммы отрицательных чисел", sum_negative)
print("Массив после модификации", lst)

46

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

def create_array(array,t):
 res=[]
 for element in array:
 if element>0:
 res.append(element+element/t)
 else:
 res.append(element)
 return res
array=[2,1,0,-1,3,4,-2,4]
print (create_array(array,15.0))

47
Дан одномерный массив числовых значений, насчитывающий N элементов. Исключить из массива элементы, принадлежащие промежутку [B; C].

def create_array(array,b,c):
 res=[]
 for element in array:
 if element >=b:
 if element <=c:
 continue
 res.append (element)
 return res
array = [2,1,0,-1,3,4,-2,4]
print (create_array(array,1,3))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *