Аватар для DaraChernyshova
2 / 2 / 0
Регистрация: 06.03.2021
Сообщений: 248

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

18.04.2023, 09:15. Показов 1871. Ответов 7

Студворк — интернет-сервис помощи студентам
В следующих задачах предполагается, что в файле записана последовательность
чисел неизвестной длины (возможно, пустая). Требуется за один просмотр файла
и без запоминания последовательности в массиве определить требуемую характери-
стикупоследовательности.
Программа должна содержать функцию, которая получает в качестве параметра
имя файла (или указатель на файл) и возвращает требуемое значение. Функция main
запрашивает с клавиатуры имя файла, обращается к функции и выводит результат
на экран.

Мне нужна Максимальная сумма подряд идущих элементов последовательности,т.е. найти
максимальное значение величины
Миниатюры
Максимальная сумма подряд идущих элементов последовательности,т.е. найти максимальное значение величины  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.04.2023, 09:15
Ответы с готовыми решениями:

Найти максимальное число идущих подряд равных элементов последовательности
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой...

Найти максимальное количество элементов последовательности, идущих подряд и являющихся простыми числами
условие В последовательности целых чисел найти максимальное количество чисел, идущих подряд, которые обладают свойством Q, и максимальное...

Рекурсия: найти подпоследовательность подряд идущих элементов последовательности, сумма которых минимальна
В данной последовательности чисел найти подпоследовательность подряд идущих элементов, сумма которых минимальна. Реализовать с помощью...

7
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
18.04.2023, 12:18
Как вариант:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def get_max_sum(fname):
    with open("111.txt","r") as fi:
        a=int(fi.readline())
        cur_sum=a
        max_sum=a
        pre_sum=a
        for s in fi:
            a=int(s)
            cur_sum=cur_sum+a
            if cur_sum > pre_sum:
                if cur_sum > max_sum:
                    max_sum=cur_sum
                pre_sum=cur_sum
            else:
                cur_sum=a
                pre_sum=a
                if cur_sum > max_sum:
                    max_sum=a
    return max_sum
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
18.04.2023, 14:03
алгоритм Кадане.

Добавлено через 4 минуты
что то вроде этого:
Python
1
2
3
4
5
6
7
8
9
10
11
from math import inf
 
with open('222.txt') as f:
    cur_sum = int(f.readline())
    max_sum = cur_sum
    for x in f.readlines():
        cur_sum += int(x)
        if cur_sum < 0:
            cur_sum = 0
        max_sum = max(max_sum, cur_sum)
print(max_sum)
0
 Аватар для DaraChernyshova
2 / 2 / 0
Регистрация: 06.03.2021
Сообщений: 248
21.04.2023, 10:09  [ТС]
Catstail,

Что пошло не так, почему не получается вывести?


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def get_max_sum(fname):
    with open("111.txt","r") as fi:
        a=int(fi.readline())
        cur_sum=a
        max_sum=a
        pre_sum=a
        for s in fi:
            a=int(s)
            cur_sum=cur_sum+a
            if cur_sum > pre_sum:
                if cur_sum > max_sum:
                    max_sum=cur_sum
                pre_sum=cur_sum
            else:
                cur_sum=a
                pre_sum=a
                if cur_sum > max_sum:
                    max_sum=a
    print (max_sum)
    return max_sum
 
get_max_sum("111.txt")
[student@ns146 ~]$ python3 sum.py
Traceback (most recent call last):
File "sum.py", line 22, in <module>
get_max_sum("111.txt")
File "sum.py", line 3, in get_max_sum
a=int(fi.readline())
ValueError: invalid literal for int() with base 10: '11 12 3 5 6 12 4 5 \n'
[student@ns146 ~]$
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
21.04.2023, 10:18
Цитата Сообщение от DaraChernyshova Посмотреть сообщение
Что пошло не так
в файле числа должны быть по одному в строке

https://onlinegdb.com/M3gFyl0Kos
0
 Аватар для DaraChernyshova
2 / 2 / 0
Регистрация: 06.03.2021
Сообщений: 248
21.04.2023, 15:44  [ТС]
Catstail, ясно, благодарю

Добавлено через 7 минут
Catstail, можете мне, пожалуйста, объяснить смысл этой задачи. Выглядит так, будто она просто считает все числа файла, и выдает за максимальную сумму. Среди чего ищется эта максимальная сумма?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
21.04.2023, 18:04
Лучший ответ Сообщение было отмечено DaraChernyshova как решение

Решение

Цитата Сообщение от DaraChernyshova Посмотреть сообщение
объяснить смысл этой задачи
- смысл задачи - найти максимальную сумму подряд идущих элементов. Может, смысл решения? Вставляем отладочную печать:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def get_max_sum(fname):
    with open("111.txt","r") as fi:
        a=int(fi.readline())
        cur_sum=a
        max_sum=a
        pre_sum=a
        for s in fi:
            a=int(s)
            cur_sum=cur_sum+a
            print("оч.элемент=",a,"текущая сумма=",cur_sum,"предыдущая сумма=",pre_sum,"макс. сумма=",max_sum)
            if cur_sum > pre_sum:
                if cur_sum > max_sum:
                    max_sum=cur_sum
                pre_sum=cur_sum
            else:
                cur_sum=a
                pre_sum=a
                if cur_sum > max_sum:
                    max_sum=a
    return max_sum
    
print(get_max_sum("111.txt"))
Вывод:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
оч.элемент= 2 текущая сумма= 3 предыдущая сумма= 1 макс. сумма= 1
оч.элемент= 3 текущая сумма= 6 предыдущая сумма= 3 макс. сумма= 3
оч.элемент= -7 текущая сумма= -1 предыдущая сумма= 6 макс. сумма= 6
оч.элемeнт= 3 текущая сумма= -4 предыдущая сумма= -7 макс. сумма= 6
оч.элемент= 4 текущая сумма= 0 предыдущая сумма= -4 макс. сумма= 6
оч.элемент= 5 текущая сумма= 5 предыдущая сумма= 0 макс. сумма= 6
оч.элемент= 6 текущая сумма= 11 предыдущая сумма= 5 макс. сумма= 6
оч.элемент= 7 текущая сумма= 18 предыдущая сумма= 11 макс. сумма= 11
оч.элемент= 8 текущая сумма= 26 предыдущая сумма= 18 макс. сумма= 18
оч.элемент= 0 текущая сумма= 26 предыдущая сумма= 26 макс. cумма= 26
оч.элемент= -2 текущая сумма= -2 предыдущая сумма= 0 макс. сумма= 26
оч.элемент= 8 текущая сумма= 6 предыдущая сумма= -2 макс. сумма= 26
оч.элемент= 9 текущая сумма= 15 предыдущая сумма= 6 макс. сумма= 26
26
Изучай!
1
 Аватар для DaraChernyshova
2 / 2 / 0
Регистрация: 06.03.2021
Сообщений: 248
28.04.2023, 10:21  [ТС]
Catstail, в строке 8 -4 -3 9 выдаёт ошибку, например

Добавлено через 29 секунд
Для -3 -4 7

Тоже. Но это легко сейчас исправлю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2023, 10:21
Помогаю со студенческими работами здесь

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

Определите максимальное количество подряд идущих положительных элементов последовательности
Здравствуйте. Я на этом сайте новичок. Если этот вопрос уже задавался ранее, то не ругайте сильно. :) Вот какая проблема: Сформируйте...

Определить максимальное количество положительных элементов последовательности, идущих подряд
Дано: массив вещественных чисел А. Определить максимальное количество положительных элементов последовательности, идущих подрят и не...

сумма наибольшей возрастающей последовательности подряд идущих элементов
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на...

Максимальная сумма подряд идущих периодов
Помогите плс. посчитать максимальную сумму двух подряд идущих дней.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru