С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 1
Регистрация: 28.09.2015
Сообщений: 76

Найти в массиве самую длинную убывающую последовательность, после максимального элемента

13.10.2015, 16:11. Показов 2084. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти в массиве самую длинную убывающую последовательность , расположенную после максимального элемента
включительно.Вывести на экран номера ее первого и последнего элементов.
У меня нет идей как ее сделать, помогите как нибудь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2015, 16:11
Ответы с готовыми решениями:

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

В массиве найти самую длинную монотонную последовательность
Последовательность a1,а2,...,аk называется монотонной, если а1<=a2<=...<=ak либо a1>=a2>=...>=ak. В массиве A(m) найти самую длинную...

Найти в массиве самую длинную положительную последовательность
Дан массив размера N найти в нем самую длинную положительную последовательность

7
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
13.10.2015, 16:59
Находишь номер максимального элемента и после него проходишь в цикле до конца. Если элемент меньше предыдущего прибавляешь счетчик, если больше или равно - обнуляешь. Если счетчик равен 1, запоминаешь первый элемент, а когда обнуляешь, запоминаешь последний.
0
0 / 0 / 1
Регистрация: 28.09.2015
Сообщений: 76
13.10.2015, 17:38  [ТС]
правильно начал ?
C++ (Qt)
1
2
3
4
5
int a[5],max = a[0];
    for (int i = 0; i < 5; i++)
        cin >> a[i];
    for ( int i = max; i < 5;i++)
        if(a[i]>a[i+1])
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
14.10.2015, 10:43
C++
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
35
36
37
#include <iostream.h>
#include <algorithm.h>
#include <vector>
 
int main()
{
const n = 7;
int arr[n] = { 70, 6, 5, 6, 3, 6, 1 };
std::vector<int> v( arr, arr+n ),
                 res, 
                 temp;
 
std::vector<int>::iterator iter = std::max_element( v.begin(), v.end() );
 
temp.push_back( *iter );
 
for( iter++; iter != v.end(); iter++ )
  {
  if( *(iter-1) > *iter )
    temp.push_back( *iter );
  else
    {
    if( temp.size() > res.size() )
      temp.swap( res );
    temp.clear();
    temp.push_back( *iter );
    }
  }
if( temp.size() > res.size() )
  temp.swap( res );
 
for( iter = res.begin(); iter != res.end(); iter++ )
  cout << *iter << " ";
 
cin.ignore();
return 0;
}
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
14.10.2015, 15:57
Можно сделать в 1 проход по массиву
0
0 / 0 / 1
Регистрация: 28.09.2015
Сообщений: 76
14.10.2015, 16:35  [ТС]
спасибо конечно , но из этого я вообще нечего не понял.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
14.10.2015, 16:38
Ща zer0mail вам все заделает в один проход.
0
202 / 138 / 88
Регистрация: 21.12.2014
Сообщений: 369
14.10.2015, 17:00
C++
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
#include <iostream>
 
int main()
{
    int const size = 9;
    int a[] = {1, 2, 3, 100, 2, 1, 0, -5, 10};
    int prev = a[0];
    int max = 0, tmp = 0;
    int count = 0;
    int first = 0, last = 0;
 
    for (int i = 0; i < size; i++)
    {
        if (a[i] > tmp) 
        {
            tmp = a[i];
            max = i; 
        }
        if (a[i] >= prev)
        {
            last = i - 1;
            count = 0;
        }
        else 
        {
            if (count == 0) first = i;
            count++;
        }
        prev = a[i];
    }
 
    std::cout << "Count: "<< count << " First: " << (max >= first ? max : first) << " Last: " << (max >= last ? max : last) << std::endl;
    system("pause");
}
Добавлено через 1 минуту
Вывод только не очень корректный.

Добавлено через 6 минут
Да и много что неправильно :D
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2015, 17:00
Помогаю со студенческими работами здесь

Найти в целочисленном массиве самую длинную последовательность чётных по значению элементов
Добрый день! а) Найти в целочисленном массиве самую длинную последовательность чётных по значению элементов. б) Расширить задачу для...

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

Найти самую длинную неубывающую последовательность
Дан список из n целых чисел a1, a2,..., a. Найти самую длинную неубывающую последовательность элементов списка

Найти самую длинную последовательность цифр в строке
Помогите новичку, пожалуйста) Нарушен п.5.18 Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.

Найти самую длинную последовательность простых чисел
Доброго времени суток! Помогите пожалуйста доделать программу. Нужно из массива цифр, выделить самую длинную последовательность простых...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru