14 / 10 / 4
Регистрация: 12.12.2020
Сообщений: 122
|
|
1 | |
Массив: Найти в заданном массиве самую длинную серию элементов с одним знаком01.12.2021, 00:20. Показов 842. Ответов 5
Метки нет (Все метки)
Имеется вот такое задание: Задан массив, подразумевается, что в нем есть положительные и отрицательные элементы, найти самую длинную серию с одним знаком (самую длинную положительную серию или самую длинную отрицательную серию).
Одномерный массив (без векторов). Прошу, пожалуйста, подскажите с чего начать, словестное описание алгоритма, если можно, нет идей даже, с чего начать. Подчеркиваю, что код не приоритетен, хочу справиться с задачей сам.
0
|
01.12.2021, 00:20 | |
Ответы с готовыми решениями:
5
В одномерном массиве найти самую длинную серию одинаковых элементов Найти самую длинную последовательность чисел с одним знаком Найти самую длинную серию чисел в массиве В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечётных элементов В заданном массиве целых чисел, найти самую маленькую серию подряд стоящих нечетных элементов |
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
01.12.2021, 01:18 | 2 |
попробуйте ввести 2 счётчика и находить длины серий, определяя серию максимальной длины
или пройти по массиву с попарным умножением элементов и счётчиком положительных произведений, как только произведение отрицательно - счётчик обнулять. в процессе находить max значение счётчика и запоминать индекс начала и конца серии. и не забыть обработать последнюю серию.
1
|
14 / 10 / 4
Регистрация: 12.12.2020
Сообщений: 122
|
|
01.12.2021, 19:21 [ТС] | 3 |
Касательного этого метода, предположим, что в массиве есть такой ряд 1 2 3 4 - 1 2 3 4, умножаю попарно, дошел до -1 - получил отрицаельный ответ, а после умножаю попарно дальше, сколь угодно большое положительное число при умножении на отрицательное - даст отрицательное, но это не будет значить, что у меня идет отрицательная серия. А если попробовать так 1 2 3 4 -1 -2 -3 -4 аналогично дойду до умножения 4 на -1, получу отрицательное, а после положительное, так как будет умножение минус на минус, потом отрицательное снова, крч, чередование знаков. Либо я не правильно Вас понял, либо второй метод только для поиска положительной серии подходит
0
|
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
01.12.2021, 19:43 | 4 |
ik4, так умножать: a[0]*a[1], a[1]*a[2], a[2]*a[3] и т.д.
1
|
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
|
||||||
01.12.2021, 19:57 | 5 | |||||
Сообщение было отмечено ik4 как решение
Решение
А нулей там нет?
Идешь по массиву и смотришь где знаки менябтся, какие тут хитрости?
1
|
14 / 10 / 4
Регистрация: 12.12.2020
Сообщений: 122
|
|
01.12.2021, 20:34 [ТС] | 6 |
В задании не сказано, что они есть, значит будем считать, что их нет)
Добавлено через 16 минут Теперь не интересно) Я сам хотел сделать, но в любом случае спасибо, логика мне предельно ясна, достаточно просто, спасибо большое
0
|
01.12.2021, 20:34 | |
01.12.2021, 20:34 | |
Помогаю со студенческими работами здесь
6
В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов... В заданном массиве целых чисел найти самую большую серию подряд стоящих четных элементов. В заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов С пом. функции заданном массиве целых чисел найти самую маленькую серию подряд стоящих нечетных элементов Найти самую длинную серию одинаковых элементов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |