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

Удалить все цифровые символы из строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему не работает if-else http://www.cyberforum.ru/cpp-beginners/thread1011418.html
Привет, форумчане! Значицца, так, дано задание (опущу ненужное) задать диапазон массива от 1 до 20. >Если да, то выполнять следующее действие. >Если нет, писать "Error. Write again." "If" определяет на раз, что с "else"? #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main ()
C++ Прокоминтируйте строки задачи Всем привет, я тут пытаюсь освоить классы, у книге которой я пользуюсь приведен пример, но я его не совсем понимаю, пркоминтируйте все строчки пожалуйста. Ниже код задачи. #include <iostream> using namespace std; class myclass { // çàêðûòàÿ ÷àñòü myclass int a; public: void set_a (int num); int get_a () ; http://www.cyberforum.ru/cpp-beginners/thread1011414.html
C++ Обработка матриц
помогите решить проблему, не могу понять, как сделать так, чтобы вводить размер матрицы с клавиатуры: вот мой код: #include <iostream.h> #include <stdio.h> #include <math.h> #include <conio.h> int main (){ int a;
Составить блок-схему программы C++
Доброго времени суток. Запутался в циклах. Помогите составить, если не сложно. #include "stdafx.h" #include <iostream> #include <time.h> #include <math.h> using namespace std; int main() {
C++ Массив целых чисел. Рассмотреть отрезки последовательности, состоящие из степеней пятерки http://www.cyberforum.ru/cpp-beginners/thread1011405.html
Добрый день, у меня вот есть код на паскале, нужно перевести на с++. Не очень понятно, что там в функции выходит, и какие параметры мы передаем.. Условие: Даны натуральное число n, целые числа a1,…an. Рассмотреть отрезки последовательности a1,…an (подпоследовательности идущих подряд членов), состоящие из степени пятёрки. В каждом случае получить наибольшую из длин рассматриваемых отрезков...
C++ Прогрмма по поиску кратчайших путей в графе Всю голову поломал,но вот что-то толком не получается(((Нужна программа по поиску кратчайших путей в графе на основе теории нечетких множеств! подробнее

Показать сообщение отдельно
MadMax952
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 4
18.11.2013, 22:37     Удалить все цифровые символы из строки
Из строки нужно удалить все цифровые символы. Наработки пока такие:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        char* pIn = pTmp;
        char* pOut = pTmp;
        while (*pIn != '\0')
        {
            if (isdigit(*pIn))
                while (isdigit(*pIn) && *pIn)
                {
                    *pOut = *pIn;
                    ++pIn;
                    ++pOut;
                }
            if ( *pIn == '\0')
                break;
            ++pIn;
            ++pOut;
 
        }
        *pOut = '\0';
Алгоритм: при помощи указателя pIn идём по строке. Если символ в строке - не цифра, то переносим его в pOut. Если цифра - просто двигаем указатель pIn дальше.
Но программа выводит неизменённую строку. Помогите, пожалуйста, исправить.
P. S. Вот полный код программы:
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
#include "work_4.h"
 
int main()
{
    char* pTmp;
    char tmp [80];
    do
    {
        cout << "Please, enter string -> " << endl;
        cin.getline (tmp,80);
        pTmp = new char [strlen(tmp)+1];
        strcpy_s (pTmp, strlen(tmp)+1,tmp);
        cout << endl;
        cout << "In string " << amountSpace(tmp) << " words" << endl;
        cout << endl;
        char* pIn = pTmp;
        char* pOut = pTmp;
        while (*pIn != '\0')
        {
            if (isdigit(*pIn))
                while (isdigit(*pIn))
                {
                    *pOut = *pIn;
                    ++pIn;
                    ++pOut;
                }
            if ( *pIn == '\0')
                break;
            ++pIn;
            ++pOut;
 
        }
        *pOut = '\0';
        cout << "The processed string:" << endl;
        cout << pTmp << endl;
        cout << endl;
        delete [] pTmp;
    }while(!(isdigit(tmp[strlen(tmp)-1])));
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru