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

Найти все слова,в которых доля букв a,b максимальна. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объясните код http://www.cyberforum.ru/cpp-beginners/thread696691.html
Объясните, как работают перегрузки оператора = и функций Union ..а точнее указатель this.Заранее спасибо. #include <iostream> using namespace std; class Set { friend istream&...
C++ Неправильно работает функция вывода введеных даных со структурами Написал код в котором надо ввести информацию об кубиках, потом ее надо вывести на екран. С вводом нет проблем, а после ввода выдает "типа ошибку", но информацию на екран выводит. Так как надо в коде... http://www.cyberforum.ru/cpp-beginners/thread696688.html
C++ Объясните, как работают перегрузки оператора?
Объясните, как работают перегрузки оператора = и функций Union ..а точнее указатель this.Заранее спасибо. #include <iostream> using namespace std; class Set { friend istream&...
C++ Как правильно добавить в пространство имен?
нужно добавить в пространство имен в заголовочном файле. //1.cpp с исходным кодом namespace AAA { int T; } /// AAA::T=5; cout<<AAA::T; /// так все правильно.
C++ Найти минимальное значение главной диагонали и максимальное значение вспомогательной диагонали в матрице http://www.cyberforum.ru/cpp-beginners/thread696666.html
Найти минимальное значение главной диагонали и максимальное значение вспомогательной диагонали в матрице порядка n. Найденные значения поменять местами. Если эти значения принадлежат одному...
C++ Найти наименьшее значение среди положительных элементов и его индекс в массиве Ребят, помогите, пожалуйста. Знаю, задание не особо сложное, по массивам, но всё никак не могу нормально написать, туплю. Вот текст задачи: Вычислить ср. арифм. элементов, удовл. условию a<D<b ... подробнее

Показать сообщение отдельно
Слава Кондратье
1 / 1 / 0
Регистрация: 21.12.2011
Сообщений: 75
28.11.2012, 17:46  [ТС]
Кто может объяснить строчки?




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
#include <string>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <iterator>
 
struct Counter
{
    const char a, b;
    Counter() : a('a'), b('b'){}
    bool operator()(char x) const
    {
        return a == x || b == x;
    }
};
 
int main()
{
    std::string s("aa  bBB   saas bb");
    std::istringstream iss(s);
    std::size_t maxCount = 0, tmpCount;
    Counter pred;
    while(iss >> s)
    {
        if((tmpCount = std::count_if(s.begin(), s.end(), pred)) > maxCount)
        {
            maxCount = tmpCount;
        }
    }
    std::cout << "maxCount = " << maxCount << std::endl;
    iss.clear();
    iss.seekg(0);
    if(maxCount)
    {
        while(iss >> s)
        {
            if(std::count_if(s.begin(), s.end(), pred) == maxCount)
            {
                std::cout << s << std::endl;
            }
        }
    }
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru