Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

удалить гласные и вывести точку перед согласными - C++

18.11.2011, 11:00. Просмотров 610. Ответов 6
Метки нет (Все метки)

привет ,помоги с задачей..вводим через стринг слово нужно удалить в этом слове все гласные и перед согласными поставить точку также нужно если слово введено в верхнем регистре вывести в нижнем пример: INPUT :TEst OUPUT:.t.s.t
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2011, 11:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос удалить гласные и вывести точку перед согласными (C++):

Переписать в отдельную строку слова, в которых гласные буквы чередуются с согласными - C++
Доброго времени суток!) делал задание и столкнулся с проблемкой,может вы поможете разобраться? Дана строка,состоящая из английских...

Из заданного файла удалить все слова c двумя согласными и вывести на экран оставшиеся слова - C++
Привет всем, в с++ не очень шарю, а до строк в изучении еще не дошел , поэтому не пойму как делать Дан текст. Словом текста считается...

Удалить гласные из строк - C++
Возможно ли осуществить это через цикл for? Путем перебора элементов всей строки и сдвигом для удаления гласных? int main() { char s; ...

Удалить все гласные из строки - C++
Здравствуйте. вы не подскажите,как можно удалить все гласные из строки

Удалить гласные буквы из текста - C++
Нужно, чтобы из строк удалялись гласные английские буквы (задал их конст. строкой vowels="aeiouy"); не знаю, как лучше это сделать....

Удалить все гласные буквы из строки - C++
СТРОКИ: Удалить все гласные буквы из строки.

6
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
18.11.2011, 11:50 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
using namespace std;
 
 
int main(void)
{
   string str;
   cin >> str;
 
   // удалить все гласные
   string::size_type pos = 0;
   while((pos = str.find_first_of("aoeiyuAOEIYU", pos)) != string::npos) 
        str.erase(pos, 1);
    
   // перевести из верхнего регистра в нижний
   for(string::iterator it = str.begin(); it != str.end(); *it++){
         if(isupper(*it))
                *it = tolower(*it);
   }
 
   // расставить точки перед согласными
   for(string::iterator i = str.begin(); i != str.end(); *i++) {
         if(isalpha(*i)) 
               i = str.insert(i, '.') + 1;
   }
   cout << str << endl;
   cin.get();
   return 0;
}
0
im_Kudrik
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 20
18.11.2011, 12:14  [ТС] #3
спасибо огромное ,а можно еще как нить проще ?просто без вот этого int main(void)...я тока учусь програмированию...
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
18.11.2011, 12:57 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <algorithm>
#include <iterator>
 
using namespace std;
 
static  string gl = "aoeiyuAOEIYU";
 
////////////////////////////////////////////////////////////////
 
class IsVolw: public unary_function<char, bool>
{
    public:
        bool operator()(char ch)
        {
            string::iterator it = find(gl.begin(), gl.end(), ch);
 
            if (it != gl.end()) //::npos
                return true;
 
            return false;
        }
};
 
 
////////////////////////////////////////////////////////////////
 
class Convert: public unary_function<char, void>
{
    public:
        void operator()(char& ch)
        {
            if (isupper(ch))
                ch = std::tolower((unsigned char)ch);
        }
};
 
 
////////////////////////////////////////////////////////////////
 
int main ()
{
    string str = "CyberFO5RU9M";
 
 
    // удалить все гласные
    str.erase(remove_if(str.begin(), str.end(), IsVolw()), str.end());
    
    // перевести из верхнего регистра в нижний
    for_each(str.begin(), str.end(), Convert());
    
    
    // расставить точки перед согласными
    //
 
 
    return 0;
}
как , с помощью алгоритмов, расставить точки?
0
neske
1504 / 871 / 84
Регистрация: 26.03.2010
Сообщений: 2,985
18.11.2011, 15:03 #5
PointsEqual, а зачем? Если есть метод insert, которым и воспользовался xAtom. это помоему самый удобный вариант в данном случае.
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
18.11.2011, 15:05 #6
ради интереса
0
ОгУрЕц
Заблокирован
18.11.2011, 15:41 #7
Цитата Сообщение от im_Kudrik Посмотреть сообщение
спасибо огромное ,а можно еще как нить проще ?просто без вот этого int main(void)...я тока учусь програмированию...
- может так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    cout<<"vvedite stroky : ";
    string str;cin>>str;
    string glasnie = "aoeiyu";
    for(int i = 0; i < str.length(); i++)
    {
        str[i] = tolower(str[i]);//delaem is zaglavnih malenkimi
        if(glasnie.find(str[i]) != -1)
        {
            str.erase(i,1);
            i--;
        }
        else
        {
            str.insert(i,".");
            i++;
        }
    }
    cout<<"vivod : "<<str<<endl;
    system("pause");
    return 0;
}
vvedite stroky : CyberFoRUM
vivod : .c.b.r.f.r.m
0
18.11.2011, 15:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2011, 15:41
Привет! Вот еще темы с ответами:

Удалить все гласные буквы из строки - C++
Здравствуйте,помогите составить программу!!! Нужно удалить все глассные буквы из строки используя функции: 1.Формирование,печать и...

Удалить слова содержащие гласные буквы... - C++
Алгоритм вроде придумал но незнаю как записать... сначала наверно нужно создать char S; char D=&quot;eyuioa&quot;; // массив гласных ...

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

Удалить все гласные буквы из строки, используя функции - C++
Удалить все гласные буквы из строки, используя функции Добавлено через 9 минут Ввести с клавиатуры строку символов и удалить все...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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