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

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

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

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

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

Задание:
Дана строка. Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран.
Как это сделать ? Вообще в этом не разбираюсь(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 01:01     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Посмотрите здесь:
C++ Подсчитать в строке количество символов, которые не являются ни цифрами, ни буквами
Подсчитать количество символов в строке, которые не являются цифрами C++
Вывести на экран строку, удалив символы, которые не являются буквами 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
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...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
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++ Число символов строке не являющихся ни буквами, ни цифрами
C++ Подсчитать количество различных цифр и вывести их
Вывести на экран все шестизначные числа, которые являются счастливыми билетами C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
В астрале
Эксперт С++
7967 / 4729 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 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     Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран
Ответ Создать тему
Опции темы

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