Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
#1

Как из строки выбрать только цифры - C++

28.04.2014, 22:43. Просмотров 717. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста,как из строки выбрать только цифры,а потом их сложить??!
То есть есть некая строка "123asd" нужно чтобы получилось 6...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 22:43     Как из строки выбрать только цифры
Посмотрите здесь:
Как извлечь только цифры из строки C++
Из заданной строки получить только цифры C++
При вводе строки выводить только цифры C++
строки.В заданный непустой текст входят только цифры. Определить: C++
C++ Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз
Из заданной символьной строки выбрать те символы которые встречаются в ней только один раз. C++
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chernobyl
212 / 212 / 67
Регистрация: 30.09.2012
Сообщений: 542
28.04.2014, 23:05     Как из строки выбрать только цифры #2
leprikon4eg, Предлагаю такое решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    string str = "123as4";
    int b;
    int sum = 0;
    for(int i = 0; i < str.size(); i++)
    {
        if(isdigit(str[i]))
        {
            b=str[i]-'0';
            sum = sum + b;
        cout<< b<<endl;
        }
    }
    cout << sum<<endl;//выведет 10
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
28.04.2014, 23:10  [ТС]     Как из строки выбрать только цифры #3
Цитата Сообщение от Chernobyl Посмотреть сообщение
C++
1
2
3
if(isdigit(str[i]))
     {
         b=str[i]-'0';
я прошу прощения,но этот момент я не понял,можете объяснить его?

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
 int a[100],d=0;
     char str2[250];
     for(int i=0;i<strlen(Kstr);i++)
     {
         if(Kstr[i]>=48 && Kstr[i]<=57)
             str2[i]=Kstr[i];
         a[i]=str2[i];
         d+=a[i];
     }
вот что я наколдовал.. это корректно?
это просто кусок программы))
Chernobyl
212 / 212 / 67
Регистрация: 30.09.2012
Сообщений: 542
28.04.2014, 23:15     Как из строки выбрать только цифры #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
leprikon4eg,
C++
1
2
3
4
5
6
if(isdigit(str[i])) //проверяем есть ли этот символ числом, соответсвенно здесь отсеиваем все НЕ числа
 
b=str[i]-'0';//получаем само число, то есть от 0 до 9,
//если сделать вот так
b=str[i]
//то это не будет нашим числом ибо это код символа в чар, при помощи вот этого -'0', мы делаем из кода символа чар нужное нам число(от 0до9)
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
28.04.2014, 23:20  [ТС]     Как из строки выбрать только цифры #5
Цитата Сообщение от Chernobyl Посмотреть сообщение
C++
1
if(isdigit(str[i]))
C++
1
 if(Kstr[i]>=48 && Kstr[i]<=57)
Равносильно этой проверке?
Chernobyl
212 / 212 / 67
Регистрация: 30.09.2012
Сообщений: 542
28.04.2014, 23:34     Как из строки выбрать только цифры #6
leprikon4eg, Кажется да, но isdigit как минимум облегчает чтение кода + входит в такую, скажем так, групу полезных вещей как isalpha() isupper() islower() и так далее.
А берется оно отсюда http://www.asciitable.com/ , как видите,числа от 0 до 9 входят в заданый вами диапазон значений
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2014, 23:35     Как из строки выбрать только цифры
Еще ссылки по теме:
Выбрать из текста только те символы, которые встречаются в нем только один раз C++
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры C++
Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте C++
C++ Массив строк в с++. Вывести строки, в которых есть цифры. В каждой строке удалить все цифры
Из заданной символьной строки выбрать те символы ,которык встречаются в ней только один раз,в том порядке, в котором они встречаются в тексте и в том C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
28.04.2014, 23:35  [ТС]     Как из строки выбрать только цифры #7
Огромное спасибо! однако не долюбливаю я эти строчки.. очень слаб в них) но с задачей справился. Спасибо!
Yandex
Объявления
28.04.2014, 23:35     Как из строки выбрать только цифры
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru