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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gragoo
0 / 0 / 0
Регистрация: 07.06.2015
Сообщений: 5
#1

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

09.07.2015, 16:24. Просмотров 376. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Требуется найти наибольшую возрастающую подпоследовательность в массиве (для 1 2 3 1 2 5 6 1 будет 1 2 5 6).
Вот процедура.
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
void Posled(float *arrayA, int n)  //Поиск возрастающей подпоследовательности
{
    int max = 1, i = 1; //max - кол-во элементов подпоследовательности
    int konec;  //индекс последнего элемента подпосл. в массиве A
    do
    {
        int s = 1;
        while (arrayA[i]>=arrayA[i-1] && i<=n)
        {
            s = s++;
            i = i++;
        }
        if (s>max) 
        {
            max = s; 
            konec = i--;
        }
        i = i++;
    }
    while (i>n);
    if (max=1) cout << "Такой подпоследовательности нет." << endl;
    else
    {
        cout << "Итоговая подпоследовательность: "; 
        for(i=n-max+1; i<=konec ;i++) cout << arrayA[i] << ' ';
        cout << endl << "Элементов: " << max  << endl;
    }
}
В делфи все работало.

В с++ все время выводит "Такой подпоследовательности нет."
По идее проблема с max, но я не могу проверить в отладчике, т.к. он не может найти локальные переменные. Единственное, что могу сказать про отладку, max = s он проходит.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 16:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти наибольшую возрастающую подпоследовательность в массиве (C++):

Найти максимальную возрастающую подпоследовательность в одномерном массиве - C++
Помогите найти максимальную возрастающую подпоследовательность в одномерном массиве.

Найти ее максимальную возрастающую подпоследовательность - C++
Здравствуйте, помогите студентке, завтра надо сдать задачи, одна не получается Дана последовательность целых чисел. Найти ее максимальную...

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

Найти в массиве подпоследовательность из подряд идущих элементов с наибольшей суммой - C++
В чем причина , прекращения работы программы? Задача: Найти в массиве подпоследовательность из подряд идущих элементов с наибольшей...

В массиве целых чисел найти максимально длинную возрастающую последовательность - C++
В массиве целых чисел найти максимально длинную возрастающую последовательность.

Найти наибольшую сумму N последовательных чисел в массиве - C++
Есть число N-(длина последовательности) Есть число K-(кол-во чисел в массиве) N&lt;=1000,,,1&lt;=K&lt;2^23 Как найти наибольшую сумму N...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13219 / 7491 / 844
Регистрация: 27.09.2012
Сообщений: 18,410
Записей в блоге: 3
Завершенные тесты: 1
09.07.2015, 16:28 #2
C++
1
(max=1)
= - это присваивание
== - это сравнение.
Вывод:
C++
1
(max==1)
1
rjxk
7 / 7 / 6
Регистрация: 18.06.2015
Сообщений: 30
09.07.2015, 16:34 #3
Цитата Сообщение от Gragoo Посмотреть сообщение
if (max=1)
max присваивается единица. Результат всегда true

C++
1
if (max == 1) cout << "Такой подпоследовательности нет." << endl;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2015, 16:34
Привет! Вот еще темы с ответами:

как найти наибольшую арифметическую прогрессию в массиве - C++
Здравствуйте! Подскажите, пожалуйста, как можно найти в массиве арифметическую прогрессию наибольшей длины, вывести на печать эту...

Найти наибольшую по значению четную цифру в массиве - C++
Вводится массив из N целых чисел. Найти наибольшую по значению четную цифру в каждом элементе.

В одномерном массиве найти наибольшую последовательность из отрицательных чисел и вывести ее - C++
Дошел до того что нахожу количество отрицательных чисел в наибольшей последовательности, но как вивести ети числа не могу понять(. Вот код...

Как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль? - C++
как найти в двумерном массиве наибольшую диагональ/горизонталь/вертикаль?? подскажите пожалуйста


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru