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

Вычислить, сколько в строке слов, заканчивающихся гласной буквой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решить СЛАУ и проверить условие ортогональности http://www.cyberforum.ru/cpp-beginners/thread1245735.html
Помогите с данной задачей: Решить СЛАУ A(n,n)X=B(n), где матрица A и вектор B заданы. Для матрицы C=XXT проверить условие ортогональности: CCT =E и CTC=E, где E – единичная матрица.
C++ Выбор файла для открытия Добрый день, мне нужна помощь с программой, почти всё сделано, только осталось прикрутить выбор файла пользователем для редактирования(прога редактирует текст). Я пытался сам прикрутить, но видимо что-то не выходит, ошибку в упор не вижу в силу не знания тонкостей языка. Помогите пожалуйста, вот код: #include "stdafx.h" #include<cstdio> #include<cstring> #include<string> #include<iostream>... http://www.cyberforum.ru/cpp-beginners/thread1245663.html
C++ Поток ввода-вывода
#include <iostream> using namespace std; int main() { int i; while(true) { if(cin>>i)
Что такое "сокет"? Посоветуйте литературу C++
Сокет - название программного интерфейса для обеспечения обмена данными между процессами, что то вроде управления протоколом ? и посоветуйте пожалуйста литературу
C++ Компилирование данных http://www.cyberforum.ru/cpp-beginners/thread1245593.html
При написании программы на компилированном языке известно что программа переводится на более низкий уровень в язык Ассемблера, но ведь для каждой архитектуры имеется свой список команд и т. д тогда как компилятор определяет этот список объясните пожалуйста
C++ MSDN где можно скачать новую библиотеку? Вопрос по MSDN библиотеке. Я смог скачать только для VS 2008. А где можно скачать новую библиотеку??? подробнее

Показать сообщение отдельно
John Prick
757 / 690 / 124
Регистрация: 27.07.2012
Сообщений: 1,975
Завершенные тесты: 3
22.08.2014, 13:08     Вычислить, сколько в строке слов, заканчивающихся гласной буквой
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
/*
Дана строка до точки, группа символов в которой между пробелами считается словом, 
знаки препинания от слова пробелом не отделяются. Необходимо вычислить, сколько
в строке слов, заканчивающихся гласной буквой.
*/
 
#include <string>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <functional>
 
std::string input_string("Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. Необходимо вычислить, сколько в строке слов, заканчивающихся гласной буквой.");
 
int main(void)
{
    setlocale(0, "rus");
 
    char vocalic_letters[] = { 'а', 'е', 'ё', 'и', 'о', 'у', 'э', 'ю', 'я' };
    char * begin_vocalic_letters = vocalic_letters;
    char * end_vocalic_letters = vocalic_letters + sizeof(vocalic_letters) / sizeof(vocalic_letters[0]);
 
    char punctuation_marks[] = { ',', ':', '-', ';', '.' };
    char * begin_punctuation_marks = punctuation_marks;
    char * end_punctuation_marks = punctuation_marks + sizeof(punctuation_marks) / sizeof(punctuation_marks[0]);
 
    std::string::iterator current =
        std::find_if(input_string.begin(), input_string.end(), std::bind2nd(std::not_equal_to<char>(), ' '));
    std::string::iterator end = input_string.end();
    int word_counter = 0;
    
    while (current != input_string.end())
    {
        std::string::iterator space = std::find(current, end, ' ');
        std::string::iterator last_word_letter = space - 1;
        if (std::find(begin_punctuation_marks, end_punctuation_marks, *last_word_letter) != end_punctuation_marks)
            --last_word_letter;
        if (std::find(begin_vocalic_letters, end_vocalic_letters, *last_word_letter) != end_vocalic_letters)
            ++word_counter;
        current = std::find_if(space, end, std::bind2nd(std::not_equal_to<char>(), ' '));
    }
 
    std::cout << "ВХОДНАЯ СТРОКА:" << '\n' << input_string << "\n\n"
        << "Число слов, оканчивающихся на гласную: " << word_counter << std::endl;
 
    system("pause");
    return 0;
}
 
Текущее время: 03:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru