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

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

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

Удалить из строки только те слова, которые состоят только из латинских букв - C++

18.04.2013, 23:10. Просмотров 973. Ответов 7
Метки нет (Все метки)

Надо удалить из строки только те слова, которые состоят только из латинских букв. Помогите, пожалуйста, что то не могу сообразить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2013, 23:10     Удалить из строки только те слова, которые состоят только из латинских букв
Посмотрите здесь:
C++ Слова, состоящие только из гласных или только из согласных латинских букв
C++ Удалить из строки слова, состоящие только из прописных букв
C++ Напечатать все слова, состоящие только из разных латинских букв
C++ Строки: Вывести на экран только те слова, которые отличаются от последнего и в которых нет повторяющихся букв.
Записать строку из слов, которые состоят из букв первого слова строки C++
C++ Создать программу, которая подсчитывает количество чисел в тексте и выводит на екран все слова, состоящие только из латинских букв
Строка: Напечатать те слова, которые отличаются только порядком следования букв. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7169 / 4335 / 633
Регистрация: 29.11.2010
Сообщений: 11,782
19.04.2013, 02:44     Удалить из строки только те слова, которые состоят только из латинских букв #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <cctype>
 
typedef std::istream_iterator<std::string> string_input;
typedef std::ostream_iterator<std::string> string_output;
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::istringstream ist(str);
    // можно копировать в элемент string, потом его вывести, можно сразу в stdout
    std::copy_if(string_input(ist), string_input(), string_output(std::cout, " "),
        [](const std::string &s) { return std::all_of(s.begin(), s.end(), isalpha); } );
}
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
19.04.2013, 03:09     Удалить из строки только те слова, которые состоят только из латинских букв #3
MrGluck, так и должно быть?
Т.е. эти два слова состоят только из латинских букв, но они не удалились.
Миниатюры
Удалить из строки только те слова, которые состоят только из латинских букв  
MrGluck
Модератор
Эксперт CЭксперт С++
7169 / 4335 / 633
Регистрация: 29.11.2010
Сообщений: 11,782
19.04.2013, 03:19     Удалить из строки только те слова, которые состоят только из латинских букв #4
BumerangSP, а точки - тоже латинские буквы? Я посчитал, что нужно брать лишь a-z и A-Z. Если не учитывать знаки препинания - islpha || ispunct.
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
19.04.2013, 03:40     Удалить из строки только те слова, которые состоят только из латинских букв #5
MrGluck, а если запятая? А если что нибудь на русском ввести, прога падает.
MrGluck
Модератор
Эксперт CЭксперт С++
7169 / 4335 / 633
Регистрация: 29.11.2010
Сообщений: 11,782
19.04.2013, 03:43     Удалить из строки только те слова, которые состоят только из латинских букв #6
UnsKneD, эмм...
Удалить из строки только те слова, которые состоят только из латинских букв
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
19.04.2013, 03:49     Удалить из строки только те слова, которые состоят только из латинских букв #7
MrGluck, студия 12, падает только в дебаге.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2013, 10:54     Удалить из строки только те слова, которые состоят только из латинских букв
Еще ссылки по теме:
C++ Вывести только те слова сообщения, которые содержат не более чем n букв
Вывести только те слова сообщения, которые содержат не более чем n букв C++
Даны два слова, напечатать только те символы, которые встречаются только в одном из слов C++
C++ Даны два слова. Напечатать только те буквы слов, которые есть только в одном из них
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова

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

Или воспользуйтесь поиском по форуму:
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
19.04.2013, 10:54     Удалить из строки только те слова, которые состоят только из латинских букв #8
MrGluck, точки как разделители. Текст может быть произвольным, а код универсальным Знаки препинания все же нужно учитывать.
Yandex
Объявления
19.04.2013, 10:54     Удалить из строки только те слова, которые состоят только из латинских букв
Ответ Создать тему
Опции темы

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