kunapareddy jeevan Ответов: 4

Напишите программу для нахождения наибольшей возрастающей последовательности в числе


Рассмотрим ряд
Eg1: 11261234 в этом числе самая большая последовательность-1234
Eg2: 4712389 в этом числе наибольшая последовательность равна 123

Что я уже пробовал:

Ничего...я ничего не понимал.

Maciej Los

Что о: 68910111213145544321? В этом случае большая возрастающая последовательность имеет вид: {8,9,10,11,12,13,14}

CPallini

Я полагаю, что ОП должен найти самую большую последовательность возрастающих цифр.

Maciej Los

Я тоже ;)

Richard MacCutchan

Поговорите со своим учителем и объясните, чего вы не понимаете. Никто здесь не будет делать за тебя твою работу.

4 Ответов

Рейтинг:
2

KarstenK

Начните с некоторых C учебник чтобы изучить использование языка, особенно строк, и установить IDE, такую как Visual Studio.

Самая длинная последовательность, которую вы найдете, проверив все подпоследовательности. Вам нужно построить подстроки и сравнить их.


Рейтинг:
2

Patrice T

Цитата:
Ничего...я ничего не понимал.

Возьмите лист бумаги и карандаш и потренируйтесь вручную находить все последовательности возрастающих цифр, например 126 1234 ...
Если вы этого не понимаете, вам нужно серьезно поговорить с вашим учителем.
Когда вы понимаете, как вы делаете вручную, это в основном ваш алгоритм, ваша задача - перевести в программу.


Рейтинг:
1

OriginalGriff

Это ваше домашнее задание, поэтому мы не собираемся давать вам какой-либо код.

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

Попробуйте сделать это вручную, и вы поймете, что я имею в виду.

Теперь все, что вам нужно сделать, это код, чтобы сделать это: и это довольно легко, как только вы поняли, что делать!

Дайте ему попробовать, и посмотреть, как далеко вы получите.


kunapareddy jeevan

Это было дано на моем экзамене...я пытался...но не смог...

OriginalGriff

Ну что ж, теперь, когда вы закончили экзамен, у вас есть много времени.
Подумай об этом и сделай то, что я сказал. Это поможет, Честное слово!

Рейтинг:
0

Maciej Los

Гугл[^] это ваш друг!

Первый результат, возвращенный Google, - это: самая длинная-возрастающая-подпоследовательность.c · GitHub[^]. Вы можете учиться, анализируя код.