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

Во введенной строке удалить все цифры 0-9 - C++

Восстановить пароль Регистрация
 
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 51
02.05.2016, 19:33     Во введенной строке удалить все цифры 0-9 #1
пытался так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// ConsoleApplication6.cpp: определяет точку входа для консольного приложения.
//
#include <iostream> 
#include <conio.h> 
using namespace std; 
 
#include <stdio.h>
#include <stdlib.h>
 
const int n =20;
int main()
{    int m =n;
    char str [n] ;
    cout << "Enter string..."<< endl;
    gets_s(str);
    for (int i=0;i<m;i++)
    {
        switch (str[i])
        {
        case 0:
            str[i] = str[i-1];
            m--;
        case 1:
            str[i] = str[i-1];
            m--;
        case 2:
            str[i] = str[i-1];
            m--;
        case 3:
            str[i] = str[i-1];
            m--;
        case 4:
            str[i] = str[i-1];
            m--;
        case 5:
            str[i] = str[i-1];
            m--;
        case 6:
            str[i] = str[i-1];
            m--;
        case 7:
        str[i] = str[i-1];
        m--;
        case 8:
        str[i] = str[i-1];
        m--;
        case 9:
            str[i] = str[i-1];
            m--;
        }
        cout << str[i] <<endl;
    }
    system ("PAUSE");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2016, 19:33     Во введенной строке удалить все цифры 0-9
Посмотрите здесь:

C++ Удалить лишние пропуски в введенной строке символов
C++ Как на языке "С" удалить в строке все цифры 3 перед первой точкой и заменить все '+' после певрой точки на '-'?
C++ Удалить каждое четное слово во введенной строке
Удалить из введенной с клавиатуры строки первые 2 слова, если это цифры C++
Во введенной пользователем строке удалите все пробелы в начале и конце строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Геомеханик
 Аватар для Геомеханик
517 / 324 / 253
Регистрация: 26.06.2015
Сообщений: 738
02.05.2016, 20:06     Во введенной строке удалить все цифры 0-9 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cctype>
 
char* s_remove(char* s, int (*pcmp)(int)){
    char* t = s;
    while(*s && !(*pcmp)(*s))
        ++s;
 
    char* p = s;
    while(*s){
        if(! (*pcmp)(*p))
            ++s;
        *s = *(++p);
    }
    return t;
}
 
int main(void){
    char s[] = "123456789begin1234 e1n2d123456";
    std::cout << s_remove(s, &isdigit) << std::endl;
    return 0;
}
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 51
03.05.2016, 09:14  [ТС]     Во введенной строке удалить все цифры 0-9 #3
Цитата Сообщение от Геомеханик Посмотреть сообщение
while(*s && !(*pcmp)(*s))
можете объяснить пожалуйста?
Fixer_84
111 / 111 / 64
Регистрация: 30.04.2016
Сообщений: 303
03.05.2016, 10:36     Во введенной строке удалить все цифры 0-9 #4
Stryder, вот еще один код. Смотрите ниже. Надеюсь, поможет.
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 51
03.05.2016, 10:38  [ТС]     Во введенной строке удалить все цифры 0-9 #5
Меня похоже зрение подводит но я ничего не вижу
Fixer_84
111 / 111 / 64
Регистрация: 30.04.2016
Сообщений: 303
03.05.2016, 10:38     Во введенной строке удалить все цифры 0-9 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
string s;
cout << "Введите строку:" << endl;
getline(cin, s);
for (int i = 0; s[i]; i++)
{
if (isdigit(s[i])) 
{
s.erase(i, 1);
i--;
}
}
cout << "Строка после удаления:" << endl;
cout << s << endl;
system("pause");
return 0;
}
Stryder
1 / 1 / 1
Регистрация: 16.09.2013
Сообщений: 51
03.05.2016, 10:39  [ТС]     Во введенной строке удалить все цифры 0-9 #7
Спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2016, 10:39     Во введенной строке удалить все цифры 0-9
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Fixer_84
111 / 111 / 64
Регистрация: 30.04.2016
Сообщений: 303
03.05.2016, 10:39     Во введенной строке удалить все цифры 0-9 #8
Stryder, #include <cctype>
Yandex
Объявления
03.05.2016, 10:39     Во введенной строке удалить все цифры 0-9
Ответ Создать тему
Опции темы

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