Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Chymardos
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 78
#1

Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран - C++

18.11.2013, 01:01. Просмотров 839. Ответов 6
Метки нет (Все метки)

Задание:
http://www.cyberforum.ru/cpp-beginners/thread1288704.html
Дана строка. Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран.
Как это сделать ? Вообще в этом не разбираюсь(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 01:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран (C++):

Подсчитать количество символов в строке, которые не являются цифрами
Подсчитать количество символов в строке,которые не являются цифарми. Помогите...

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

Вывести на экран строку с отобранными из введенной символами, которые не являются буквами
Моя задача: После ввода с клавиатуры произвольного строки вывести на экран эту...

Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.
Помогите решить задачи: 1. Найти все простые натуральные числа, не...

Подсчитать количество различных элементов в очереди и вывести их на экран
1. Подсчитать число различных элементов в очереди и вывести их на экран 2. ...

6
rrrFer
Заблокирован
18.11.2013, 07:01 #2
Например так?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main() {
    std::string str;
    std::set<char> st;
    
    std::getline (std::cin, str);
    
    for (auto t : str) 
        if (false == isalnum(t)) 
            st.insert(t);
        
    std::cout << st.size() << std::endl;
    
    for (auto t : st) 
        std::cout << t << ' ';
}
1
bradobrei
Продам уран 238U
119 / 119 / 126
Регистрация: 22.01.2013
Сообщений: 298
18.11.2013, 07:51 #3
держи, можешь доработать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstring>
int main(){
const char in[] = "weg 23 !! ih!fj- wj ++#21#$4 b b$";
int tmp = strlen(in);
char out[100];
int q = 0;
for(int i = 0; i < tmp; i++){
        //cout<<in[i]<<endl;
    if(((in[i] <= 'a' && in[i] <= 'z') && (in[i] <= 'A' && in[i] <= 'Z') && (in[i] <= '0' && in[i] <= '9'))) {
        out[q] = in[i];
        cout << out[q] << endl;
        q++;
        }
    }
return 0;
}
1
dzrkot
zzzZZZ...
523 / 354 / 94
Регистрация: 11.09.2013
Сообщений: 2,039
18.11.2013, 09:59 #4
Цитата Сообщение от rrrFer Посмотреть сообщение
for (auto t : str)
можно поинтересоваться условием данного цикла? не понимаю я его...)
1
Chymardos
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 78
18.11.2013, 10:48  [ТС] #5
Ребята, всем спасибо кто помог, очень помогли)
0
rrrFer
Заблокирован
18.11.2013, 16:14 #6
Цитата Сообщение от bradobrei Посмотреть сообщение
держи, можешь доработать
Твой код неправильный, смотри в задание:
Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран.
ключевое слово выделил цветом. И еще, твое условие эпически кривое. Символ ^ считается за букву или цифру, например (но суть даже не в этом, посмотри на условие, убери лишние скобки, посмотри на условие еще раз)

можно поинтересоваться условием данного цикла? не понимаю я его...)
это цикл по коллекции. Введен в с++11.
Строка - тоже контейнер: http://www.cplusplus.com/reference/string/string/
The standard string class provides support for such objects with an interface similar to that of standard containers, but adding features specifically designed to operate with strings of characters.
Цитата Сообщение от dzrkot Посмотреть сообщение
C
1
for (auto t : str)
локальная переменная t автоматического типа (тип выводится компилятором) последовательно принимает значение каждого элемента контейнера.
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 651
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
18.11.2013, 16:21 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <set>
#include <cctype>
#include <algorithm>
 
int main()
{
   const std::string str = "hello.,..123m,akjjk:111-0-00-8888!this";
   std::set<char> result;
   std::copy_if(str.begin(), str.end(), std::inserter(result, result.end()), [](char c)
   {
      return !std::isalnum(c);
   });
   for (auto c : result)
   {
      std::cout << c;
   }
   std::cout << std::endl;
}
0
18.11.2013, 16:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 16:21
Привет! Вот еще темы с решениями:

Подсчитать и вывести на экран количество слов, символами которых являются двоичные цифры
Строка, введенная пользователем, состоит из слов, разделенных запятой....

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

Определить число вхождений в строку подстроки "аба", вывести символы строки, не являющейся буквами или цифрами
решить нужно в течении часа определить число вхождений в строку...

Число символов строке не являющихся ни буквами, ни цифрами
На этой не деле, в срочном порядке нам дали несколько заданий в их числе:...


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

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

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