Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 62

Найти сумму элементов массива, расположенных между 1 и 2 положительными элементами массива

19.10.2016, 08:41. Показов 6236. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
кароч надо в эту прогу засунуть :"сумму элементов массива,расположена между 1 и 2 положительными элементами."
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from random import random
N = 15
m = int(random() * 40) - 20
arr = [m]
i = 1
while i < N:
     m = int(random() * 40) - 20
     f = 1
     for j in arr:
         if abs(j) == abs(m):
             f = 0
             break
     if f == 1:
         arr.append(m)
         i += 1
print(arr)
for i in range(1, 15):
    if abs(arr[i]) > abs(arr[j]):
        j = i
print('Максимальный по модулю  элемент равен %d' % (arr[j]))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.10.2016, 08:41
Ответы с готовыми решениями:

Найти сумму элементов, расположенных между первым и последним положительными элементами
Задание. 1.Минимальный элемент массива. 2.Сумму элементов, расположенных между первым и последним положительными элементами. ...

Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива
/* Дан массив А(30). Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами...

Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами
Дан массив целых чисел. Найти сумму и произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

10
4 / 4 / 8
Регистрация: 18.01.2014
Сообщений: 48
19.10.2016, 13:24
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from random import random
res = 0
N = 15
m = int(random() * 40) - 20
arr = [m]
list1 = []
i = 1
while i < N:
     m = int(random() * 40) - 20
     f = 1
     for j in arr:
         if abs(j) == abs(m):
             f = 0
             break
     if f == 1:
         arr.append(m)
         i += 1
print(arr)
for i in range(0, 15):
    if abs(arr[i]) > abs(j):
        j = i
for i in range(0,len(arr)):
    if arr[i] > 0:
        k=i
        break
for n in range(k+1,len(arr)):
    res +=arr[n]
    list1.append(arr[n])
    if arr[n]>0:
        res -=arr[n]
        break
 
print("сумма элементов =",res)
print("список элементов =",list1)
Добавлено через 9 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from random import random
res = 0
N = 15
m = int(random() * 40) - 20
arr = [m]
list1 = []
i = 1
while i < N:
     m = int(random() * 40) - 20
     f = 1
     for j in arr:
         if abs(j) == abs(m):
             f = 0
             break
     if f == 1:
         arr.append(m)
         i += 1
print(arr)
for i in range(0,len(arr)):
    if arr[i] > 0:
        k=i
        break
for n in range(k+1,len(arr)):
    res +=arr[n]
    list1.append(arr[n])
    if arr[n]>0:
        res -=arr[n]
        break
 
print("сумма элементов =",res)
print("список элементов =",list1)
Без цикла for для поиска большего числа по модулю.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
19.10.2016, 17:23
Цитата Сообщение от dup Посмотреть сообщение
Python
3
m = int(random() * 40) - 20
Перевод из Си "в лоб", наверное. Иначе непонятно, почему бы не использовать randrange() или randint()
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
 
vec = [random.randint(-20, 20) for i in range(15)]
into = False
result = 0
for i in vec:
    if i > 0:
        if into:
            into = False
            break
        else:
            into = True
    elif i < 0 and into:
        result += i
#
print(vec)
print(result)
0
охотник
 Аватар для vint-81
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
19.10.2016, 22:01
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import random
 
#vec = [random.randint(-20, 20) for i in range(15)]
vec = [-1,1,-1,-1,-1]
into = False
result = 0
for i in vec:
    if i > 0:
        if into:
            into = False
            break
        else:
            into = True
    elif i < 0 and into:
        result += i
else:
    result='---'
#
print(vec)
print(result)
0
171 / 92 / 71
Регистрация: 10.05.2014
Сообщений: 432
20.10.2016, 23:07
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from random import random
 
def fill(n):
    arr,i = [int(random() * 40) - 20],1
    while i < n:
        m,f = int(random() * 40) - 20,True
        for j in arr:
            if abs(j) == abs(m):
                f = False
                break
        if f:
            arr.append(m)
            i += 1
    return arr
arr = fill(15)
print('Полученный массив:', (arr))
print('Максимальный по модулю  элемент равен:', (min(arr) if abs(min(arr)) > abs(max(arr)) else max(arr)))
print('Сумма всех элементов массива, находящихся между отрицательных чисел:', (sum(arr[i-1] for i in range(2,len(arr)) if arr[i-2]<0 and arr[i]<0)))
0
12 / 12 / 10
Регистрация: 17.06.2016
Сообщений: 70
25.10.2016, 20:10
вникать в ваш код не буду.
Python
1
2
3
4
5
6
7
8
9
10
a=[-1,4,-5,-17,-22,-5,-6,-8,6]
cnt=0
summ=0
for i in range(len(a)):
    if a[i]>0:
        cnt+=1
    if 0<cnt<2:
        summ+=a[i]
print(summ)
вместо а список(массив) свой возьмите.И попробуйте потом из кода мусор выкинуть!
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
27.10.2016, 17:45
Python
1
2
3
4
a=[-1, 4, -5, -17, -22, -5, -6, -8, 6]
 
tmp = [i for i in a if i>0][:2]
print(sum(a[a.index(tmp[0]):a.index(tmp[1])]))
Пишу с мобилы не проверял
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
27.10.2016, 19:35
Vigi, "экономичная" вариация
Python
1
2
3
4
lst = [-1, 4, -5, -17, -22, -5, -6, -8, 6]
 
ip = (i for i, e in enumerate(lst) if e > 0)
print(sum(lst[next(ip)+1:next(ip)]))
0
охотник
 Аватар для vint-81
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
27.10.2016, 20:07
Tehnic, Vigi, shsv,
возьмите список lst = [-1, 4, -5, -17, -22, -5, -6, -8, -6]...
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
27.10.2016, 20:27
Цитата Сообщение от dup Посмотреть сообщение
между 1 и 2 положительными элементами
Цитата Сообщение от vint-81 Посмотреть сообщение
возьмите список lst = [-1, 4, -5, -17, -22, -5, -6, -8, -6]...
где второй ?
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
27.10.2016, 20:33
vint-81, Вы правы, но конфуз легко поправим...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2016, 20:33
Помогаю со студенческими работами здесь

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

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

Вычислить сумму элементов, расположенных между первым и последним положительными элементами
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Количество элементов массива, равных нулю. 2.Сумму...

Вычислите сумму элементов массива, расположенных между первым и вторым чётным элементами
Вычислите сумму элементов массива, расположенных между первым и вторым чётным элементами.Помогите, пожалуйста

Найти сумму элементов массива расположенных между первым и последним положительными элементами.
Не могу написать программу по условию: Найти сумму элементов массива расположенных между первым и последним положительными элементами.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru