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

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

Войти
Регистрация
Восстановить пароль
 
JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
#1

Удаление определенных цифр из строки - C++

25.12.2013, 17:53. Просмотров 1017. Ответов 7
Метки нет (Все метки)

Всем привет. Интересная задачка попалась, сижу, думаю.
Пользователь вводит цифровой набор, к примеру, 565471236109.
Из этой строчки надо выкинуть цифры, пусть это будут 5 и 1, и оставить все остальные в том же порядке. То бишь, получить 64723609.
Подскажите, пожалуйста, как это сотворить?
Кода особого пока нет. Разве что цикл пробежки по длине цифрового блока и все. Думал erase сунуть, но не то.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 17:53     Удаление определенных цифр из строки
Посмотрите здесь:

Удаление из строки определенных символов C++
Удаление цифр из символьной строки C++
C++ Вывод на экран букв, удаление цифр
Удаление пар цифр из числа. C++
C++ Вводится две строки, состоящие из цифр; из этих цифр составить максимальное число
Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой C++
C++ Удаление строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6193 / 5796 / 1877
Регистрация: 18.12.2011
Сообщений: 14,813
Завершенные тесты: 1
25.12.2013, 18:01     Удаление определенных цифр из строки #2
C++
1
2
3
4
5
6
7
8
9
10
char str[]="565471236109";
for(int i=0;i<strlen(str);i++)
{
        if(str[i]=='1' || str[i]=='5')
        {
              for(int j=i;j<strlen(str);j++)
                 str[j]=str[j+1];
             i--;
        }
}
JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
25.12.2013, 18:07  [ТС]     Удаление определенных цифр из строки #3
zss, спасибо, но почему он ругается на J, что тот не создан? Пытаюсь пересоздать - орет.

Добавлено через 1 минуту
zss, а все, мой косяк, все отлично, спасибо)
Somebody
2777 / 1591 / 142
Регистрация: 03.12.2007
Сообщений: 4,169
Завершенные тесты: 1
25.12.2013, 18:12     Удаление определенных цифр из строки #4
C++
1
2
for (char *dst = str, *src = str; (*dst = *src); src++)
    dst += *src != '1' && *src != '5';
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
25.12.2013, 18:13     Удаление определенных цифр из строки #5
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
   long long number = 565471236109;
   std::string s = std::to_string(number);
   s.erase(std::remove_if(s.begin(), s.end(), [](const char ch){return ch == '1' || ch == '5';}),
           s.end());
   number = std::stoll(s);
   std::cout << number;
 
   return 0;
}
JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
25.12.2013, 18:15  [ТС]     Удаление определенных цифр из строки #6
Воу, ребят, из-за чего может такая ошибка вылезать?
Как раз сразу после завершения работы проги.
Если мы вводим число, то лучше использовать getline или обойтись cin?
Миниатюры
Удаление определенных цифр из строки  
zss
Модератор
Эксперт С++
6193 / 5796 / 1877
Регистрация: 18.12.2011
Сообщений: 14,813
Завершенные тесты: 1
25.12.2013, 18:35     Удаление определенных цифр из строки #7
Это значит, что где-то вылезли за границы массива.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 18:36     Удаление определенных цифр из строки
Еще ссылки по теме:

C++ Среди цифр введенной строки, напечатать ту, которая появлялась более 3 раз. Если таких цифр было несколько, напечатать ту, что встретилась первым
C++ Вывести части строки до определенных символов
Удаление определенных букв из строки C++
Подсчитать количество телефонов, номер которых начинается с определенных цифр C++
Считать текст из файла и записать в другой только строки, не содержащие определенных символов C++

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

Или воспользуйтесь поиском по форуму:
JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
25.12.2013, 18:36  [ТС]     Удаление определенных цифр из строки #8
zss, а все, доперло, спс)
Yandex
Объявления
25.12.2013, 18:36     Удаление определенных цифр из строки
Ответ Создать тему
Опции темы

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