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

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

Войти
Регистрация
Восстановить пароль
 
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118
#1

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

22.06.2013, 23:35. Просмотров 630. Ответов 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++ Вывести, в скольких словах текста встречаются гласные буквы
Удалить все гласные буквы из строки, используя функции C++
Массив строки. Удалить с масива слова которые заканчиваються на гласные буквы C++
C++ Ввести с клавиатуры строку символов,удалить все гласные буквы из строки
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы. C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4285 / 1407 / 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     Удалить гласные буквы из текста
Ответ Создать тему
Опции темы

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