Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Удаление символов из строки - C++

20.12.2016, 19:48. Просмотров 671. Ответов 1
Метки нет (Все метки)

Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из каждого слова символы, не являющиеся буквами. Напечатать каждое слово строки на отдельной строчке.

Возникла проблема с удалением чисел и символов из строки, не знаю как реализовать это.
Буду благодарен за подсказку.

Добавлено через 19 минут
Разобрался с удалением символов, но теперь надо как-то сделать вывод каждого слова на новую строку
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
#include <iostream>
#include <string.h>
#include <locale.h>
#include <cctype>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "");
    char s[255];
    int i=0;
    cout<<"Введите строку:\n";
    cin.getline(s,255,'\n');
    while (i<=strlen(s)) 
    {
        if (isalpha(*(s+i)))
            cout<<*(s+i);
        i++;
    }
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2016, 19:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удаление символов из строки (C++):

Удаление символов из строки - C++
в С++ есть некая процедура, есть ли аналог в Си? .erase() И можно несколько примеров удаления символов из строки с пояснениями?

Удаление n символов из строки - C++
Доброго времени суток, уважаемые жильцы этого форума! Я еще только учусь, так что у самого ума не хватает) Никак не могу решить...

Удаление символов из строки - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace std; int main() { string...

Удаление символов из строки - C++
Условие: Даны натуральное число N, символы s1,...,sn. Удалить из данной последовательности все группы букв вида abcd. Я начинающий...

Удаление символов из строки - C++
Здравствуйте. В паскале есть процедура Delete(st, i, j) которая удаляет из строки st, начиная с i-того символа, j символов. Есть ли...

Удаление символов строки - C++
В строке удалить второй и четвертый по счету символы

1
Nishen
466 / 277 / 88
Регистрация: 26.02.2015
Сообщений: 1,306
Завершенные тесты: 2
20.12.2016, 19:54 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
 
 
int main() {
 
    string str;
 
    cout
        << "Please, enter a some string: ";
    getline(cin, str, '\n');
 
    str.erase(remove_if(str.begin(), str.end(), [](char c) { return !isalpha(c) && c != ' '; }), str.end());
 
    cout
        << "Result: "
        << str
        << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
 
}
Добавлено через 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
#include <iostream>
#include <string.h>
#include <locale.h>
#include <cctype>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "");
    char s[255];
    int i = 0;
    cout << "Введите строку:\n";
    cin.getline(s, 255, '\n');
    while (i <= strlen(s))
    {
        if (isalpha(*(s + i)))
            cout << *(s + i);
 
        if (*(s + i) == ' ') {
 
            cout
                << endl;
 
        }
 
        i++;
    }
    system("pause");
    return 0;
}
Добавлено через 1 минуту
Только у вас будет мусор выводиться, т.к. завершающий символ все равно останется на своём месте после таких действий. Я бы советовал не выводить символы в случае, если это буква, а формировать из них новую строку и после цикла while вывести на экран новую строку уже.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 19:54
Привет! Вот еще темы с ответами:

Удаление символов из строки - C++
Здравствуйте, стоит задача удалить все знаки препинания и лишние символы из текста, на debian упорно не удаляются длинное тире — и...

Удаление из строки определенных символов - C++
Подскажите плиз функцию которая удаляет с строки символы. Например ввели символ А и с строки str удалилися все символы А... Если...

Удаление парных символов из строки - C++
Как удалить парные символы из множества &quot;w,r,q,t&quot; из заданной символьной строки?

Удаление из строки повторяющихся символов - C++
Например Ввод: ABBGBAZ Вывод: ABGZ


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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