0 / 0 / 2
Регистрация: 13.12.2017
Сообщений: 31
1

Найти самую длинную неубывающую подпоследовательность данной последовательности (с использованием списков)

11.05.2018, 13:17. Показов 1671. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность вещественных чисел a1,a2,...,an. Указать самую длинную неубывающую подпоследовательность данной последовательности.Помогите пожалуйста решить с помощью списков
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2018, 13:17
Ответы с готовыми решениями:

Найти самую длинную неубывающую подпоследовательность данной последовательности (с использованием списков)
Дана последовательность вещественных чисел a1,a2,...,an. Указать самую длинную неубывающую...

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

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

Цикл: Найти самую длинную неубывающую цепочку чисел
В цикле с клавиатуры вводится 15 целых чисел. Необходимо найти самую длинную неубывающую цепочку...

2
55 / 55 / 63
Регистрация: 18.03.2014
Сообщений: 386
11.05.2018, 18:09 2
Лучший ответ Сообщение было отмечено xvvxx как решение

Решение

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
54
55
56
57
58
59
#include <iostream>
#include <ctime>
 
using namespace std;
 
struct element {
    int x;
    element *next;
};
 
void push_back(element* &head, int x) {
    if (head == NULL) {
        head = new element();
        head->x = x;
    }
    else {
        element *i = head;
        while (i->next != NULL)
            i = i->next;
        i->next = new element();
        i->next->x = x;
    }
}
 
int maxLength(element *head) {
    int maxl(1), l(1);
    while (head != NULL && head->next != NULL) {
        if (head->x < head->next->x) l++;
        else {
            if (l > maxl) maxl = l;
            l = 1;
        }
        head = head->next;
    }
    if (l > maxl) maxl = l;
    return maxl;
}
 
void Write_List(element *head) {
    while (head != NULL) {
        cout << head->x << " ";
        head = head->next;
    }
}
 
int main()
{
    element *head = 0;
    srand(time(0));
    int n, a;
    cin >> n;
    for (int i = 0; i < n; i++) {
        a = rand() % 20 - 10;
        push_back(head, a);
    }
    Write_List(head);
    cout << endl << maxLength(head);
    return 0;
}
0
0 / 0 / 2
Регистрация: 13.12.2017
Сообщений: 31
15.05.2018, 14:50  [ТС] 3
programmist99, Спасибо большое. Можете пожалуйста помочь, что в данном случае получается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
    int maxl(1), l(1);
    while (head != NULL && head->next != NULL) {
        if (head->x < head->next->x) l++;
        else {
            if (l > maxl) maxl = l;
            l = 1;
        }
        head = head->next;
    }
    if (l > maxl) maxl = l;
    return maxl;
}
0
15.05.2018, 14:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2018, 14:50
Помогаю со студенческими работами здесь

Найти самую длинную подпоследовательность массива из простых чисел
Найти самую длинную подпоследовательность массива A, состоящую из элементов, которые являются...

Найти первую самую длинную подпоследовательность, которая является пилообразной
Здравствуйте! Есть интересная, но сложная задачка: Есть последовательность чисел. Найти...

Найти самую длинную подпоследовательность, которая является арифметической или геометрической прогрессией
В заданной последовательности целых чисел (без 0) найти самую длинную подпоследовательность,...

Найти самую длинную последовательности чисел, упорядоченную по возрастанию
4. Найти самую длинную последовательности чисел, упорядоченную по возрастанию. Пример: 5 7 8 9 3...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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