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

Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы - C++

Восстановить пароль Регистрация
 
Sanchezzz
1 / 1 / 0
Регистрация: 20.09.2012
Сообщений: 34
04.09.2013, 21:53     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы #1
тема: текстовые файлы.

убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2013, 21:53     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы
Посмотрите здесь:

Ввести строку , вывести только слова, заканчивающиеся на гласную букву. C++
C++ Вывести из файла все слова, которые начинаются на гласную букву
Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–» C++
Разделить каждое слово из текста на буквы, затем закодировать каждую букву C++
C++ Дан текст. Удалить в нём каждую вторую букву от «b» до «d»;
C++ Заменить в файле каждую первую букву слова на прописную
C++ Удалить в тексте каждую вторую букву от «b» до «d»
Убрать каждую вторую букву слова C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
05.09.2013, 13:40     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы #2
И что не получилось ?
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
06.09.2013, 16:45     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы #3
Может и не лучшее решение но вот что получилось:
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
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
bool glasn(char c)// predikat dlja algoritma remove_if
{
    const string gl = "aehiouy";//stroka soglasnih
    return find(gl.begin(), gl.end(), c) != gl.end();// proverjaem nahoditsa li bukva v diapazone soglasnih
}
int main()
{
    string s= "hello woaoiurld!nice weather today!";
       typedef string::size_type s_sz;
       s_sz i = 0, v8oj = 7, t13ij = 12;
       while(i != v8oj)
       {cout << s[i];
       i++;}
 
       while(v8oj != t13ij )
       {
           if(v8oj% 2 == 1 && glasn(s[v8oj]))
           cout << s[v8oj];
           v8oj++;
       }
       while(t13ij != s.size())
       {
           cout << s[t13ij];
           t13ij++;
       }
 
 
    return 0;
}
Добавлено через 2 часа 44 минуты
Во доработал:
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
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
 
using namespace std;
 
bool glasn(char c)
{
    const string gl = "aehiouy";//stroka soglasnih
    return find(gl.begin(), gl.end(), c) != gl.end();
}
int main()
{
    string s;
    getline(cin, s);
       typedef string::size_type s_sz;
       s_sz i = 0, v8oj = 7, t13ij = 12;
       int  counter = 0;
       while(i != v8oj)
       {cout << s[i];
       i++;}
 
       while(v8oj != t13ij )
       {
 
         if(glasn(s[v8oj]))
           {
               counter++;
               if(counter % 2 == 1)
               cout << s[v8oj];
 
           }
           else
           cout << s[v8oj];
           v8oj++;
       }
       while(t13ij != s.size())
       {
           cout << s[t13ij];
           t13ij++;
       }
 
 
    return 0;
}
Yandex
Объявления
06.09.2013, 16:45     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы
Ответ Создать тему
Опции темы

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