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

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

Восстановить пароль Регистрация
 
Chymardos
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 78
18.11.2013, 01:01     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран #1
Задание:
Дана строка. Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран.
Как это сделать ? Вообще в этом не разбираюсь(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 01:01     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Посмотрите здесь:

C++ Дана строка. Подсчитать, сколько различных символов встречается в ней. Вывести их на экран.
C++ Подсчитать количество различных элементов в очереди и вывести их на экран
C++ Определить число вхождений в строку подстроки "аба", вывести символы строки, не являющейся буквами или цифрами
C++ Подсчитать количество различных цифр и вывести их
C++ Число символов строке не являющихся ни буквами, ни цифрами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 << ' ';
}
bradobrei
Продам уран 238U
 Аватар для bradobrei
119 / 119 / 23
Регистрация: 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;
}
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
18.11.2013, 09:59     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран #4
Цитата Сообщение от rrrFer Посмотреть сообщение
for (auto t : str)
можно поинтересоваться условием данного цикла? не понимаю я его...)
Chymardos
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 78
18.11.2013, 10:48  [ТС]     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран #5
Ребята, всем спасибо кто помог, очень помогли)
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 автоматического типа (тип выводится компилятором) последовательно принимает значение каждого элемента контейнера.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2013, 16:21     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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;
}
Yandex
Объявления
18.11.2013, 16:21     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Ответ Создать тему
Опции темы

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