Форум программистов, компьютерный форум CyberForum.ru

Нахождение наиболее длинной, монотонно возрастающей подпоследовательности - C++

Восстановить пароль Регистрация
 
рпр
0 / 0 / 0
Регистрация: 10.01.2012
Сообщений: 5
27.01.2012, 00:54     Нахождение наиболее длинной, монотонно возрастающей подпоследовательности #1
Задание такое: Напишите программу, которая считывает цепочку чисел и печатает наибо-лее длинную, монотонно возрастающую их подпоследовательность.

Добавлено через 2 минуты
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>
 
int main()
{
        int N,i,j,index;//Объявление переменных
        setlocale(LC_ALL,"RUSSIAN");//Подключение языка
        std::cout<<"введите количество элементов в последовательности"<<std::endl;
        std::cin>>N;//Присвоение введенного значения переменной N
        if ((!std::cin) || (N<=0))//Проверка
        {
                std::cout<<"gg";
                return 0;
        }
        int *arr = new int [N];//Объявление массива
        std::cout<<"введите"<<' '<<N<<' '<<"чисел последовательности"<<std::endl;
        for (int i = 0 ; i < N ; i++)//Перебор элементов массива
        if(arr[N] > arr[N + 1])//Условие монотонного возрастания
        {
        int *M = new int [j];//Объявление массива первых элементов найденых последовательностей
        int *P = new int [i];//Объявление массива индекс предшествующего символа для наидлиннейшей возрастающей под-ти
        int L = index = M[0] = 0
        for i := 1 to N;
        //бинарный поиск наибольшего индекса j =< L, удовлетворяющего arr[M[j]] < arr[i]
        P[i] = M[j]
        if ((j == L) || (arr[i] < arr[M[j+1]])) // нашли более оптимальную подпоследовательность
         M[j+1] = i
         L = max{L, j+1}
               {
                std::cin>>arr[i];//Создание нового массива
            }
        std::cout<<"последовательность:"<<std::endl;
        for (int i = 0 ; i < N ; i++)
                std::cout<<arr[i]<<' ';
            std::cout<<std::endl;
        system("pause");
        return 0;
}
а вот этот ужас породил воспаленный сессией мозг
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 00:54     Нахождение наиболее длинной, монотонно возрастающей подпоследовательности
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru