Предмет: Информатика, автор: galkevichkatya2005c

Нужно создать консольное приложение!
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть возможность ввода данных как с клавиатуры, так и с использованием функции random().

В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить сумму элементов массива, расположенных между первым и последним

положительными элементами.


flash77779: Выполнил задание.

Ответы

Автор ответа: flash77779
0

import random

def sum_between_positive_elements(array):

   first_positive_element_index = 0

   last_positive_element_index = 0

   for i in range(len(array)):

       if array[i] > 0:

           first_positive_element_index = i

           break

   for i in range(len(array) - 1, -1, -1):

       if array[i] > 0:

           last_positive_element_index = i

           break

   sum_between_positive_elements = 0

   for i in range(first_positive_element_index + 1, last_positive_element_index):

       sum_between_positive_elements += array[i]

   return sum_between_positive_elements

def main():

   print("Enter the size of the array:")

   array_size = int(input())

   print("Random array or keyboard array? (r/k)")

   array_type = input()

   if array_type == "r":

       array = [random.randint(-100, 100) for i in range(array_size)]

   elif array_type == "k":

       array = [int(input()) for i in range(array_size)]

   else:

       print("Wrong input.")

       return

   print(" ".join(map(str, array)))

   print("Sum between positive elements:", sum_between_positive_elements(array))

if __name__ == "__main__":

   main()

Приложения:

flash77779: Первое и последние позитивное число не включает в расчёт, только то что между этими числами. Если позитивное число одно или их нет вовсе, то выводит ноль
Похожие вопросы
Предмет: Химия, автор: bogdanfogele