C++ Символы и файлы

Ответить
Yura_ua
Сообщения: 63
Зарегистрирован: 07 дек 2006, 17:52

Здравствуйте. Помогите кто-нибудь решить задачку:
В текстовом файле находиться произвольный набор символов. Найти и вывести на экран самую длинную последовательность, которая состоит только из цифр, но не более 50 символов
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

коды цифр идут подряд. отсюда:

Код: Выделить всё

if ((c>='0')&(c<='9'))
Исспользуй счётчик текущей позиции и счётчик начала последовательности. Длина - разность между ними. Кроме того, исспользуй буфера текущей и последней найденной последовательностей и буфер длины последней найденной последовательности.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Yura_ua
Сообщения: 63
Зарегистрирован: 07 дек 2006, 17:52

atavin-ta писал(а): Исспользуй счётчик текущей позиции и счётчик начала последовательности. Длина - разность между ними. Кроме того, исспользуй буфера текущей и последней найденной последовательностей и буфер длины последней найденной последовательности.

А как узнать текущую позицию?
Yura_ua
Сообщения: 63
Зарегистрирован: 07 дек 2006, 17:52

Извините, глупый был вопрос)))
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Можно попробовать применить функцию atoi передавая ей указатель, смещающияся от начала исходного массива. Если указатель попадёт на символ цифры, то функция вернёт все цифры в виде целого числа до первого нецифрового символа. Думаю, идея понятна. Нужно её только развить. Конечно здесь есть недостаток: если последовательность будет очень длинной, то. наверное, будет глюк.
Ответить