Std set
Автор Јиршова Арина задал вопрос в разделе Другие языки и технологии
C++,построение множества и получил лучший ответ
Ответ от Carlos[гуру]
Просмотреть последовательность символов, и если какой-то символ является знаком препинания, то добавлять его в множество.
Например с помощью такого говнокода (функцию отыскания знаков препинания и печати заметь на имеющиеся) :
#include < iostream >
#include < string >
#include < set >
// код, определяюший является ли символ знаком препинания
bool is_punctuation_char(char ch) {
return ch == '.' || ch == ',';
}
// печать множества
void print_chars_set(const std::set<char> &chars_set) {
std::cout << "{";
std::set<char>::const_iterator it(chars_set.begin());
if (it != chars_set.end()) {
std::cout << "'" << *(it++) << "'";
}
for (; it != chars_set.end(); ++it) {
std::cout << ", '" << *it << "'";
}
std::cout << "}";
}
// построение множества знаков препинания по последовательности символов
template < typename InputIterator >
void build_punctuation_chars_set(
std::set< char > &punctuation_chars_set,
InputIterator begin,
InputIterator end
) {
for (; begin != end; ++begin) {
if (is_punctuation_char(*begin)) {
punctuation_chars_set.insert(*begin);
}
}
}
int main() {
// ввод последовательности символов
std::string line;
std::cout << "Input string line: " << std::flush;
std::getline(std::cin, line);
// построение множества знаков препинания
std::set<char> chars_set;
build_punctuation_chars_set(chars_set, line.begin(), line.end());
// печать найденного множества
std::cout << "Punctuation chars: ";
print_chars_set(chars_set);
std::cout << std::endl;
return 0;
}
создать, например, map из всех возможных знаков препинания. далее, когда в тексте находится элемент мапа - добавить его в искомое множество
Помогите, пожалуйста! SAT экзамен
SAT это тестирование спсобностей. Он состоит из двух частей: SAT 1 и SAT 2. В первом - critical
подробнее...
Какой программой открыть файл расширения "STO"? Заранее спасибо! Не могу открыть файл с расширением STO ПОМОГИТЕ!!!!
Формат файла .sto
Описание файла .sto на русскомДизайн-проект 3D-интерьера PRO100
Описание
подробнее...
Чем открыть файл с расширением .set? так что бы прочитать весь исходный код и внести нужные изменения
или вот еще нарыл:
Для сохранения различной информации в пределах программы Cubase
подробнее...
как правильно: they is strong или they are strong? Are you sad или is you sad?
They are strong. Are you sad?
I-am
You-are
They-are
We-are
He-is
She-is
подробнее...
bash sed заменить строку строкой
sed \'$STRING s/.*/$NOMER/\' $FILE
PS не уверен в подстановках $NOMER. в винде это будет
подробнее...
что означает это запись при введении её в командную строку BCDEDIT /Set IncreaseUserVa 3072
Эта команда ( BCDEDIT /Set IncreaseUserVa 3072 ) действует только для Win7
и позволит системе
подробнее...
В чем отличие ТВ кабеля SAT 703 от RG6? Какой лучше делать при смене проводки для кабельного ТВ? Сейчас исп RG6.
Погонное затухание.
У RG-6 любого производителя - 21...23 дб/100 м. Центральная жила -
подробнее...
Что значит Sad boys (заранее говорю это не значит - грусные мальчики)?
Sad boys - в разговорно-сленговом варианте: охламоны, растяпы, недотёпы, зануды.
Естественно,
подробнее...