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

Строго возрастающая макс. подпоследовательность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как ввести с клавиатуры элементы динамического массива? http://www.cyberforum.ru/cpp-beginners/thread969682.html
int *mass=new int; for(int i=0;i<10;i++) { } Как ввести в цикле элементы массива , а потом вывести их на экран? Подскажите , пожалуйста .
C++ Ошибка компиляции Среда разработки Dev-C++, в коде при компиляции выскакивает ошибка типа " `ctrok' undeclared (first use this function) ". В чем проблема? #include <iostream> using namespace std; int main() { char strok; cout << "Ââåäèòå ñòðîêó: "; cin >> strok; http://www.cyberforum.ru/cpp-beginners/thread969677.html
Форумчани, подскажите статью C++
Здравствуйте, можете подсказать статью (хорошую), в которой подробно будут объяснятся классы в С++. А то толковой статьи найти не могу, в которой будет все понятно и толково.
Перезапись значений в матрице C++
Удалите тему
C++ Вводятся два числа N и K. Выведите количество чисел из диапазона от 1 до N включительно таких, что их сумма цифр делится на K http://www.cyberforum.ru/cpp-beginners/thread969665.html
#include<iostream> using namespace std; int main() {int i,m,x,s,n,k; cin>>n>>k; s=0;x=0; for(i=1;i<=n;i++) {while(i>0){m=i%10;i=i/10;x=x+m;}; if(x%k==0)s=s+1;} cout<<s;
C++ Тестовый пример C++ Как правильно составить тестовый пример для программы, написанной на C++? Что он должен включать в себя и как выглядеть? подробнее

Показать сообщение отдельно
IrineK
Заблокирован
05.10.2013, 23:35     Строго возрастающая макс. подпоследовательность
Вообще-то подпоследовательностей найденной максимальной длины может быть несколько. Код ниже учитывает и эту возможность:

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//найти максимальную строго возрастающую подпоследовательность 
 
#include <iostream>
#include <ctime>
using namespace std;
 
const int N = 20;
 
int main()
{   int A[N], post [N-1];
    int i, max = 0, maxPos = 0;
    srand((unsigned int) time(NULL));
 
    //задаем массив 
    cout<<"Initial sequence:\n";
    for(i=0; i<N; i++)
    {   A[i] = rand()%10;
        cout<<A[i]<<"  ";
    }
 
    //строим вспомогательный массив 
    for(i=0; i<N-1; i++)
        if(A[i]<A[i+1])
            post[i] = 1;
        else
            post[i] = 0;
 
    for(i = N-2; i>0; i--)
        if(post[i] && post[i-1])
        {   post[i-1] += post[i];
            post[i] = 0;
        }
    
    //находим максимальную длину
    for(i=0; i<N-1; i++)
        if(post[i]>max)
            max = post[i];
 
    //выводим все строго возрастающие подпоследовательности найденной максимальной длины
    cout<<"\n\nAll maximum strictly increasing subsequences, length = "<<max+1<<"\n";
    for(i=0; i<N-1; i++)
        if(post[i] == max)
        {   cout<<"\n\tStart at position "<<i<<"\n\t";
            maxPos = max+1;
            while(maxPos--)
                cout<<A[i++]<<"  ";
            i--;
            cout<<"\n";
        }
 
    cin.get();
    return 0;
}
Миниатюры
Строго возрастающая макс. подпоследовательность   Строго возрастающая макс. подпоследовательность  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru