Необычный ввод строки [требует правки]

369
24 октября 2017, 02:34

Есть задача: вводится просто строка с цифрами и пробелами и задача вычленить из неё цифры для последующих с ними манипуляций(желательно в int). Например вводится:

for i:=99921 downto 20

И затем я получаю одной переменной просто:

9992120

Помогите реальзовать

Answer 1

Проходим, выбрасываем все, что не есть цифра. Получаем нужную вам строку (без гарантии, что это влезет в int).

Что-то типа (в s - указатель на строку):

for(char* b = s, *e = s;*b; ++b)
{
    if (isdigit(*b) *e++ = *b;
}
*e = 0;

Можно со string - типа

string res;
for(auto c: s) if (isdigit(c)) res += c;

Не компилировал, но вроде идея понятна?

Ну, а уж строку цифр в число перевести, думаю, не проблема?

READ ALSO
Версия приложения VS C++

Версия приложения VS C++

Где в VS можно указать версию приложения или библиотеки разработанной на С++?

210
Прохождение бинарного дерева (post-order)

Прохождение бинарного дерева (post-order)

Здравствуйте, как на с/с++ написать нерекурсивный обход бинарного дерева через стек методом post-order (сначала листья, потом корень)?

309
Умные указатели в C++

Умные указатели в C++

Есть метод setQuackBehavior(), который принимает ссылку на абстрактный класс QuackBehaviorЭтот метод находится в классе, который имеет член std::shared_ptr<QuackBehavior>...

329