|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.05.2017, 16:44 | #1 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
из одной строки перекопировать в другую только цифры
Здравствуйте!
Подскажите пожалуйста, как не используя класс string С++, а используя только строковый тип, из одной строки перекопировать в другую только цифры? Т.е организация циклов - это я понимаю легко. Но вот как идентифицируется именно цифра, что она цифра а не другой символ? Неужели вот такое громоздкое: if (ch=='0' || ch=='1' || ch=='2' и т.д.) |
07.05.2017, 16:45 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
07.05.2017, 16:50 | #3 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Ну то есть всё равно делать условие показанное выше? Нет такой функции "копировать только цифры"?
|
07.05.2017, 16:58 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Они по-порядку идут, не надо 10 проверок. Достаточно 2.
А готовая функция для проверки является ли символ цифрой есть, да. http://www.cplusplus.com/reference/cctype/isdigit/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
07.05.2017, 17:58 | #5 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Спасибо.
|
08.05.2017, 07:34 | #6 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Здравствуйте!
Продолжаю решать эту задачу. Я только учусь, и для меня многое не так очевидно как многим корифеям от программирования. Применить функцию перевода из строкового типа в тип long double пока не удалось. На данный момент получается какая то фигня при копировании из строки "цифры-символы" в строку "только цифры". Т.е. цифры то исправно копируются без запятых и знака $, но вместе с ними при выводе идет набор букв "М". Подскажите пожалуйста, в чем ошибка? Код:
|
08.05.2017, 08:06 | #7 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Ошибку нашел, ноль забыл поставить в конце строки)))
str[a]='\0'; |
08.05.2017, 08:52 | #8 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Рабочая программа:
Код:
|
08.05.2017, 08:53 | #9 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Вопрос, как можно оптимизировать фильтр в цикле? Который пропускает только цифры и точку.
|
08.05.2017, 08:56 | #10 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
std::isdigit
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование значений ячеек из одной строки в другую | ольгаг | Microsoft Office Excel | 1 | 19.12.2016 10:47 |
умножение одной матрицы на другую (выводить не только ответ, но и ход решения) Delphi или C++ | carrie bradshaw | Помощь студентам | 0 | 29.04.2014 00:20 |
Переход с одной строки на другую в DBF сканировании | danxiel | Помощь студентам | 2 | 04.09.2012 14:15 |
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую | reihtmonbern | БД в Delphi | 4 | 17.07.2012 23:25 |
Перенос данных из строки одной таблицы БД в другую БД | Optigood | БД в Delphi | 15 | 12.05.2010 17:07 |