Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kissshot
0 / 0 / 0
Регистрация: 13.03.2016
Сообщений: 10
1

Вывести буквы строки за которыми следует буква а

13.03.2016, 15:46. Просмотров 808. Ответов 1
Метки нет (Все метки)

В заданном тексте, содержащем не менее 5 слов, выдать буквы, за которыми следует буква а в порядке, обратному частоте встречаемости
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2016, 15:46
Ответы с готовыми решениями:

Удалите в строке все буквы 'x'. за которыми следует 'abc'
Я смог решить с помощью циклов, но я хочу знать, как можно решить эту задачу с помощью методов...

Распечатать все буквы, непосредственно перед которыми находится буква С
Дан массив символов S1,...,Sn. Распечатать все буквы, непосредственно перед которыми находится...

Удалить из текста все буквы b, непосредственно перед которыми находится буква c
напечатайте заданный непустой текст удалив из него все буквы b, непосредственно перед которыми...

Удалите в строке все 'abc', за которыми следует цифра
Не знаю как решить с помощью строк.

Подсчитать, сколько раз буква «ф» содержится в заданной строке, и удалить все буквы «ф» из строки
Писать на c++ Подсчитать, сколько раз буква «ф» содержится в заданной строке, и удалить все буквы...

1
yrceus
84 / 84 / 80
Регистрация: 25.08.2013
Сообщений: 338
13.03.2016, 18:50 2
Лучший ответ Сообщение было отмечено kissshot как решение

Решение

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 <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
    string list; vector<string> syms;
    getline(cin, list);
    auto pos = list.find('a', 0);
    while (pos != string::npos) {
        if (pos && list.at(pos - 1) != ' ')
            for (auto &str : syms)              
                if (list.at(pos - 1) == str.front()) {
                    str.push_back(list.at(pos - 1));
                    break;
                }
                else if (str == syms.back()) {
                    syms.emplace_back(1, list.at(pos - 1));
                    break;
                }
        if (syms.empty() && pos != string::npos && pos && list.at(pos) != ' ')
            syms.emplace_back(1, list.at(pos - 1));
        pos = list.find('a', ++pos);            
    }
    for (auto str : syms)
        cout << str;
    cout << endl;
    stable_sort(syms.begin(), syms.end(), [](const string &a, const string &b) { return a.size() > b.size(); });
    for (auto str : syms)
            cout << str.front();
        cout << endl;       
    return 0;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2016, 18:50

Вывести строку, содержащую символы строки S, между которыми вставлено по одному пробелу
Помогите пожалуйста решить эту задачу на С++. Дана непустая строка S. Вывести строку, содержащую...

Вывести строку, содержащую символы заданной строки, между которыми вставлено по одному пробелу
Что то вот на решал, немного вроде не так посмотрите оцените пожалуйста; /* Дана непустая строка S...

Строки: сосчитать количество букв g, за которыми следует буква s
Дан текст из строчных латинских букв. Сосчитать количество букв g, за которыми следует буква s....


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

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

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