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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Файловый ввод-вывод в задаче http://www.cyberforum.ru/cpp-beginners/thread948482.html
Не понимаю как составить вывод данных из файла в задаче (см.ниже), я вообще запутался с вводом выводом, помогите растолковать. Если cout (ostream) выводит текст, почему тогда объект fout (ofstream fout) наоборот вводит текстовую информацию? Эти же оба объекта созданы для вывода информации. Почему все наоборот? Так и должно быть? А насчет задачи, вот мой текст: #include <iostream> #include...
C++ Поиск циклов отрицательной стоимости Добрый день помогите с написание программы. Суть такова. На вход в программу подается в .txt граф представленный в таблице смежности. допустим перейти от A к B стоит -5 от B к C стоит 2 от C к D стоит -1 от D к A стоит 5 мы обходим граф полным перебором и получаем в данном примере при обходе ABCDA -1 это значит мы нашли цикл который нам нужен http://www.cyberforum.ru/cpp-beginners/thread948437.html
C++ как сложить/умножить/найти большее/найти меньшее/найти средние число
привет всем подскажите как сложить/умножить/найти большее/найти меньшее/найти средние число из например 10 введенных чисел, в одной программе.Всем заранее респект.
Чем отличаются операторы вывода? C++
Чем отличаются операторы вывода cout и printf и какой более перспективно использовать? ;)
C++ Почему работает puts() из <cstdio> ? http://www.cyberforum.ru/cpp-beginners/thread948395.html
Всем привет! Вы можете сказать, что мне нечего делать, но я спрошу :) Элементарный ХеллоуВорлд #include <cstdio> int main() { puts( "Hello, World" ); return 0; } Я же не делал здесь using namespace std; !
C++ дана матрица a(n/m) которая вводиться из файла дана матрица a(n/m) которая вводиться из файла и число k вводиться с клавиатуры. В k-ой строке найти максимальный элемент.В том столбце где этот элемент находиться найти сумму модулей элементов. Каждый этап решать при помощи программы работающей с вектором ( На С++) подробнее

Показать сообщение отдельно
jurok_85
238 / 221 / 76
Регистрация: 21.02.2013
Сообщений: 515
Завершенные тесты: 1
06.09.2013, 16:45     Убрать из слова каждую вторую гласную букву в диапазоне от 8 до 13 буквы
Может и не лучшее решение но вот что получилось:
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;
}
 
Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru