Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
36 / 2 / 1
Регистрация: 31.10.2016
Сообщений: 160
1

Поиск наибольшего количества идущих подряд отрицательных чисел в массиве

01.09.2018, 17:22. Показов 1508. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Казалось бы элементарная задача. Дан массив из 30 случайных чисел в диапазоне от -100 до 100. Его я создаю так:
PowerShell
1
2
$r = New-Object Random
$a = (0..29).ForEach{$r.Next(-100, 100)}
Допустим, в итоге получили следующую последовательность: 5,-100,-68,54,39,-5,75,-11,-95,-4,-54,-96,92,-8,51,-12,46,2,36,-13,-82,50,-7,15,36,2,58,57,40,-7. Как узнать наибольшее количество отрицательных чисел идущих подряд? В данном случае 5 элементов (-11,-95,-4,-54,-96). Мне не нужно извлекать сам сегмент, мне нужно просто программно определить это количество. Полагаю, что нужно ввести счетчик и переменную количества и все это прогнать в цикле, сравнивая переменную количества со счетчиком, но полагаю есть более простое решение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2018, 17:22
Ответы с готовыми решениями:

Поиск наибольшего количества подряд идущих нулей в строке матрицы
Надо найти наибольшее кол-во подряд идущих нулей в строке и отсортировать матрицу по возрастанию,...

Алгоритм подсчета max количества подряд идущих отрицательных элементов в целочисленном массиве длины 30
Опиcать алгоритм подсчета максимального количества подряд идущих отрицательных элементов в...

Составить программу, которая подсчитывает, наибольшее число отрицательных идущих подряд в массиве чисел
Добрый день,я составил программу по такому условию :"Дан одномерный массив А, состоящий из N целых...

Нахождение наибольшего количества идущих подряд одинаковых символов в тексте.
Вроде не сложная. ))) - Дан текст.Найти наибольшее количество идущих подряд одинаковых символов.

1
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
01.09.2018, 17:41 2
Лучший ответ Сообщение было отмечено YuS_2 как решение

Решение

Возможное решение
PowerShell
1
[Linq.Enumerable]::Max((-join$a.ForEach{[Int32]($_ -le 0)}).Split('0', [StringSplitOptions]::RemoveEmptyEntries)).Length
Пошагово
Сперва формируем нечто вроде булевой строки - последовательности из нулей и единиц, где нуль - положительной число, единица - отрицательное.
PowerShell
1
-join$a.ForEach{[Int32]($_ -le 0)}
Полученную строку бъем на сегменты таким образом, чтобы между ними не было пустых (параметр StringSplitOptions).
PowerShell
1
(...).Split('0', [StringSplitOptions]::RemoveEmptyEntries)
Новообразованный массив строк, состоящих их единиц, передаем в качестве значения методу Max.
PowerShell
1
[Linq.Enumerable]::Max(...)
Таким образом находится самая длинная "последовательность", - остается лишь вывести длину оной.
PowerShell
1
(...).Length
1
01.09.2018, 17:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2018, 17:41
Помогаю со студенческими работами здесь

Заменить в массиве каждую группу из нечётного количества подряд идущих нулей на один нуль, а из чётного количества - на два
Дан массив с большим количеством нулевых элементов. Заменить в нём каждую группу из нечётного...

В одномерном массиве группу из наибольшего числа подряд идущих нулей заменить на максимальное значение
В одномерном массиве A=(a1, а2, ..., аn) группу из наибольшего числа под- ряд идущих нулей заменить...

Подсчет наибольшего числа идущих подряд простых чисел в числовой последовательности
Задача 1. Последовательность. На контрольной работе по информатике Анатолию досталось задание,...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru