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

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

Восстановить пароль Регистрация
 
AZIZBEK
 Аватар для AZIZBEK
0 / 0 / 0
Регистрация: 16.06.2012
Сообщений: 37
19.07.2012, 10:01     Вывести на экран все символы строки кроме букв #1
дана строка
вывести на экран символы кроме букв
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2012, 10:01     Вывести на экран все символы строки кроме букв
Посмотрите здесь:

Из строки удалить все символы, кроме пробелов, не являющиеся буквами английского алфавита C++
Двоичные файлы.Дано предложение.Создать файл и вывести в него все символы этого предложения,отличные от знаков препинания.Вывести содержимое на экран. C++
C++ Дан массив целых чисел с 0 ,вывести на экран все числа кроме 0
C++ Необходимо вывести на экран все различные символы строки
C++ строки.... вывести на экран все символы которые находятся во второй половине текста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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]; 
    }
 
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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;
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 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;
}
modwind
 Аватар для modwind
52 / 52 / 1
Регистрация: 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, из пушки по воробьям.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 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, из пушки по воробьям
А чего ей без дела лежать?
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
19.07.2012, 12:21     Вывести на экран все символы строки кроме букв #7
modwind, между этими двумя вариантами нет разницы, по сути это одно и тоже.
modwind
 Аватар для modwind
52 / 52 / 1
Регистрация: 09.03.2012
Сообщений: 101
19.07.2012, 12:26     Вывести на экран все символы строки кроме букв #8
modwind, тогда уж лучше
Дело вкуса. Мой код идеологически подчёркивает, что некоторые символы пропускаются, а твой - что некоторые выводятся.
А чего ей без дела лежать?
А долго такую программу писать и искать в ней ошибки. И человек, создавший тему начинающий. Как ему понять bind-ы?

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

Пусть не автор вникнет, так кто-нибудь другой... если здесь не удаляют старые сообщения форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.07.2012, 12:57     Вывести на экран все символы строки кроме букв #11
Цитата Сообщение от modwind Посмотреть сообщение
Тогда для кого ты написал свой вариант решения задачи?
Для себя. Если в моем коде есть неточность, то, возможно, мне на нее укажут.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2012, 15:47     Вывести на экран все символы строки кроме букв
Еще ссылки по теме:

C++ Вывести на экран все символы, расположенные внутри скобок
Удалить из строки все символы кроме букв и цифр; заменить цифры на '**' C++
C++ Строки. Вывести на экран все символы, расположенные внутри скобок

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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;
}
Yandex
Объявления
19.07.2012, 15:47     Вывести на экран все символы строки кроме букв
Ответ Создать тему
Опции темы

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