Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 37
1

Вывести на экран все символы строки кроме букв

19.07.2012, 10:01. Просмотров 1968. Ответов 11
Метки нет (Все метки)

дана строка
вывести на экран символы кроме букв
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2012, 10:01
Ответы с готовыми решениями:

Исключить из строки нелитерные ( все кроме букв) символы
Исключить из строки нелитерные ( все кроме букв) символы

Удалить из строки все символы кроме букв и цифр; заменить цифры на '**'
ввести рядок , удалить в нем все символы кроме букв и цифр, заменить цифры на '**' вивести на...

Убрать из строки все символы кроме букв
Привет вам! Подскажите пожалуйста кодом как из строки убрать нечитаемые и другие символы, чтобы...

Удалить все символы из строки кроме английский букв
Ребят,подскажите имеется String s с переносами, пробелами, цифрами и тд. Как из неё вытащить только...

11
1311 / 973 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
19.07.2012, 10:20 2
Вот так можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include <cctype>
using namespace std; 
int main() 
{
    char str[] = "sfdasfas 123 &&&& 1!!!!! CCCAsfasd";  
    int i; 
    for ( i = 0; i < strlen(str); i++) 
    { 
        if(isalpha(str[i])) 
            continue;
        else 
            cout << str[i]; 
    }
 
}
1
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
19.07.2012, 12:02 3
Цитата Сообщение от David Sylva Посмотреть сообщение
for ( i = 0; i < strlen(str); i++)
C++
1
for(i = 0; str[i] != '\0'; i++)
Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
#include <cctype>
 
int main()
{
    using namespace std;
 
    string str;
    cout << "input string: ";
    getline(cin, str);
 
    copy_if(str.begin(), str.end(),
            ostream_iterator<char>(cout, " "),
            [] (char ch) { return !isalpha(ch); });
 
    cout << endl;
}
0
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.07.2012, 12:03 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
#include <iterator>
#include <functional>
 
int main()
{
    using namespace std::placeholders;
 
    std::string str("123asd456");
    std::copy_if
    (
        str.begin(),
        str.end(),std::ostream_iterator<char>(std::cout),
        std::bind(std::logical_not<bool>(), std::bind(isalpha, _1))
    );
    std::cout << std::endl;
    return 0;
}
0
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
19.07.2012, 12:05 5
rangerx, тогда лучше
C++
1
2
3
4
5
6
    for (char* s = str; *s; s++) 
    { 
        if(isalpha(*s)) 
            continue;
        putchar(*s);
    }
Добавлено через 1 минуту
soon, из пушки по воробьям.
0
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.07.2012, 12:16 6
Цитата Сообщение от modwind Посмотреть сообщение
C++
1
2
3
if(isalpha(*s)) 
    continue;
putchar(*s);
modwind, тогда уж лучше
C++
1
2
if(!isalpha(*s))
    std::cout << *s;
Цитата Сообщение от modwind Посмотреть сообщение
soon, из пушки по воробьям
А чего ей без дела лежать?
0
1992 / 1592 / 488
Регистрация: 31.05.2009
Сообщений: 2,980
19.07.2012, 12:21 7
modwind, между этими двумя вариантами нет разницы, по сути это одно и тоже.
0
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
19.07.2012, 12:26 8
modwind, тогда уж лучше
Дело вкуса. Мой код идеологически подчёркивает, что некоторые символы пропускаются, а твой - что некоторые выводятся.
А чего ей без дела лежать?
А долго такую программу писать и искать в ней ошибки. И человек, создавший тему начинающий. Как ему понять bind-ы?

Добавлено через 2 минуты
rangerx, по сути да. Просто переменная i как индекс выглядит искусственно, если она реально не используется. Сам указатель на строку можно использовать как итератор.
0
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.07.2012, 12:31 9
Цитата Сообщение от modwind Посмотреть сообщение
А долго такую программу писать и искать в ней ошибки.
Нет
Цитата Сообщение от modwind Посмотреть сообщение
Как ему понять bind-ы?
Я сомневаюсь, что он будет вникать хотя бы в один из предложенных кодов.
0
52 / 52 / 2
Регистрация: 09.03.2012
Сообщений: 101
19.07.2012, 12:41 10
C++
1
Я сомневаюсь, что он будет вникать хотя бы в один из предложенных кодов.
Тогда для кого ты написал свой вариант решения задачи? Просто чтобы показать собственную крутость, с использованием всех возможных наворотов языка C++?

Пусть не автор вникнет, так кто-нибудь другой... если здесь не удаляют старые сообщения форума.
0
2551 / 1316 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.07.2012, 12:57 11
Цитата Сообщение от modwind Посмотреть сообщение
Тогда для кого ты написал свой вариант решения задачи?
Для себя. Если в моем коде есть неточность, то, возможно, мне на нее укажут.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10838 / 6648 / 1614
Регистрация: 25.07.2009
Сообщений: 12,429
19.07.2012, 15:47 12
Очередной хеловорлд-конкурс
В одну строчку вся возня:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cctype>
 
const int STR_SIZE(256);
 
int main(){
    char str[STR_SIZE];
    
    using namespace std;
    while ( cout << "\nString: " && cin.getline(str, STR_SIZE) && *str )
        for ( char * p = str; *p && ( isalpha(*p) || cout << *p ); ++p )
            ;
    
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2012, 15:47

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

Убрать из строки все символы, кроме строчных латинских букв
Вот текст программы. Она убирает из максимум 50 слов длиной максимум 20 символов все символы кроме...

Вывести из строки все символы, кроме
Здравствуйте, подскажите пожалуйста как написать программу в Джаве Эклипс, используя строковые...

Удалить все символы, кроме латинских букв и цифр, а все большие лат. буквы сделать маленькими
всем привет, помогите исправить код программы. суть проги в том чтобы вводились множество символов...

Удалить из текста все символы, кроме букв и пробелов
нужно удалить из текста все символы кроме букв и пробелов uses crt; var text:string; i:char;...


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

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

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