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

Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а. - C++

Восстановить пароль Регистрация
 
ddv
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 18
17.12.2013, 01:11     Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а. #1
Здравствуйте, помогите пожалуйста со троками
Как можно решить эту задачу?
Дан набор слов, разделенных точкой с запятой ( ; ). Набор заканчивается двоеточием ( : ). Определить сколько в нем слов, заканчивающихся буквой а.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 01:11     Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а.
Посмотрите здесь:

C++ Найти в тексте слова, которые начинаются и заканчиваются одной и той же буквой
Определить, сколько слов во введенном тексте начинаются и оканчиваются одной и той же буквой C++
Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом. C++
C++ C++ Задан текст. Слова в тексте разделены одним пробелом. В конце текста – точка. Определить, сколько раз заданный символ стоит на четных местах
Текстовый файл, в котором значения разделены точкой с запятой. Нужен ли regex? C++
Определить количество слов, которые начинаются и заканчиваются одной той же буквой C++
Определить количество слов, начинаются и заканчиваются одной и той же буквой C++
Найти в тексте слова, которые начинаются и заканчиваются одной и той же буквой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bradobrei
Продам уран 238U
 Аватар для bradobrei
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
17.12.2013, 06:21     Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main(){
    char str[] = "rasd;eca;eruion;erfwqa;gffaa;ercersaf;ferea:";
    int count = 0;
    for(int i = 0; str[i]; i++){
        if( (str[i] == 'a' && str[i+1] == ';') || (str[i] == 'a' && str[i+1] == ':'))
            count ++;
    }
    cout<<count;
 
return 0;
}
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
17.12.2013, 07:32     Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <functional>
#include <cstring>
 
using namespace std;
 
bool pred(char s[], const char &value) {
    int index = s - &value;
    return (s[index] == ';' || s[index] == ':') && s[index - 1] == 'a';
}
 
int main()
{
    char s[] = "rasd;eca;eruion;erfwqa;gffaa;ercersaf;ferea:";
    cout << count_if(s, s + strlen(s), bind1st(pred, s)) << endl;
    
    return 0;
}
Задумка понятна. Подскажите чего я не понимаю (компилируется с ошибками).
Yandex
Объявления
17.12.2013, 07:32     Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а.
Ответ Создать тему
Опции темы

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