Здравствуйте. Помогите кто-нибудь решить задачку:
В текстовом файле находиться произвольный набор символов. Найти и вывести на экран самую длинную последовательность, которая состоит только из цифр, но не более 50 символов
C++ Символы и файлы
коды цифр идут подряд. отсюда:
Исспользуй счётчик текущей позиции и счётчик начала последовательности. Длина - разность между ними. Кроме того, исспользуй буфера текущей и последней найденной последовательностей и буфер длины последней найденной последовательности.
Код: Выделить всё
if ((c>='0')&(c<='9'))
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
atavin-ta писал(а): Исспользуй счётчик текущей позиции и счётчик начала последовательности. Длина - разность между ними. Кроме того, исспользуй буфера текущей и последней найденной последовательностей и буфер длины последней найденной последовательности.
А как узнать текущую позицию?
Извините, глупый был вопрос)))
Можно попробовать применить функцию atoi передавая ей указатель, смещающияся от начала исходного массива. Если указатель попадёт на символ цифры, то функция вернёт все цифры в виде целого числа до первого нецифрового символа. Думаю, идея понятна. Нужно её только развить. Конечно здесь есть недостаток: если последовательность будет очень длинной, то. наверное, будет глюк.