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

Удалить гласные буквы из текста - C++

Восстановить пароль Регистрация
 
strange_man
 Аватар для strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 117
22.06.2013, 23:35     Удалить гласные буквы из текста #1
Нужно, чтобы из строк удалялись гласные английские буквы (задал их конст. строкой vowels="aeiouy");
не знаю, как лучше это сделать. стандартных функций я не знаю, а лишние циклы не хочу делать.

C++
1
2
3
4
5
6
7
8
bool is_vowel(const char ch)
{
    for (int i = 0; i < vowels.size(); i++)
        if (ch == vowels[i]) 
            return true;
 
    return false;
}
//следующая функция заменяет символ пробелом, то есть она не выполняет нужную мне задачу
C++
1
2
3
4
5
6
7
8
void delete_vowels(string& line)
{
    for (int i = 0; i < line.size(); i++)
    {
        if (is_vowel(line[i])) 
            line[i] = ' ';  
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    string name = "text.txt";
    ifstream ifs(name.c_str());
    if (!ifs) error("unable to open input file");
 
    name = "new.txt";
    ofstream ofs(name.c_str());
    if (!ofs) error("unable to open output file");
 
    string line;
 
    while(getline(ifs,line))
    {
        delete_vowels(line);
        ofs << line;
    }
 
    return 0;
}

Не по теме:

давно не занимался, щас вот потянуло. надо будет утром еще раз пересмотреть, может пойму. а то у меня на ночь мозги не варят иногда.

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 23:35     Удалить гласные буквы из текста
Посмотрите здесь:

C++ Ввести с клавиатуры строку символов,удалить все гласные буквы из строки
Удалить слова содержащие гласные буквы... C++
C++ удалить все гласные буквы из текстового файла
Вывести гласные буквы введённого текста C++
C++ Вывести, в скольких словах текста встречаются гласные буквы
Массив строки. Удалить с масива слова которые заканчиваються на гласные буквы C++
Удалить все гласные буквы из строки C++
Удалить все гласные буквы из строки, используя функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
22.06.2013, 23:59     Удалить гласные буквы из текста #2
C++
1
2
3
4
5
6
7
void delete_vowels(string& line)
{
    const char *vowels = "AEIOUYaeiouy";
    size_t pos = 0;
    while((pos = line.find_first_of(vowels)) != string::npos)
        line.erase(pos, 1);
}
Yandex
Объявления
22.06.2013, 23:59     Удалить гласные буквы из текста
Ответ Создать тему
Опции темы

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