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

справочник на STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Учебник для начинающих http://www.cyberforum.ru/cpp-beginners/thread159103.html
Здравствуйте, уважаемые программисты. Этим летом я поступил в университет нефти и газа на спец-ть Прикладная математика. Узнал, что первые полгода у нас будет С. Остальное время С++. С этими языками я совершенно не знаком. В школе учил Паскаль и Бейсик. Что вы можете посоветовать из литературы по языку С? Начианать изучения сразу с языка С? Или сразу за С++? Хотелось бы за оставшееся летом...
C++ правильно ли я составил код ? помогите , правильно ли я составил код ? псевдокод : программа... в зависимости от оценки , выдается результат ... 5-просто отлично!! 4-среднячок 3-так себе 2-кошмар... http://www.cyberforum.ru/cpp-beginners/thread159082.html
CheckRadioButton C++
Здравствуйте! Я столкнулся с проблемой, решение которой пока немогу нигде найти, может Вы поможете? Имеется следующая функция: void CL1E2Dlg::OnBnClickedRadio1() { m_GrEn = 1; //устанавливаю значение переменной группы радиокнопок if (m_GrRu!=0) //тут условие по значению переменной другой группы { if (m_GrRu == 5) {
C++ Разработка оконных приложений.
Возможно вы скажите иди ищи на форуму, пользуйся поиском и т.д... Правда, прочитал много и на нашем форуме)) Но у каждого наверное частный случай.. В общем, хочу постепенно с пониманием научиться создавать оконные приложения под windows, с кнопками и сигналами при назатии, чтоб нажание на одну кнопку изменяло только часть окна и т.д. Написал так банально и криво, т.к. не знаю как иначе. В чём...
C++ Соединение Strings http://www.cyberforum.ru/cpp-beginners/thread159045.html
Как обьеденить 2 строки char* в одну чтобы в последущем использовать в system(string) что то типа char* A, ip; ip="192.168.0.1" A="ping ",ip system(A) это примерно так набросал но при этом выбивает ошибку
C++ Шаблончики, С++. Доброго Всем времени суток, уважаемые программисты. Начинаю осваивать STL и её реализацию. Собственно, с шаблонами особо раньше не встречался, поэтому решил в них разобраться получше. А теперь, собственно, вопросы ;) #ifndef _TEMPLATES_H #define _TEMPLATES_H template <class T> class MyClass { protected: T value; byte memory; подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.08.2010, 16:47
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//////////////////////////////////////////////////////////////////////////////////
//нужно чтоб поиск осуществлялся по формату *часть слова* или часть слова?часть слова
//////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <set>
#include <string>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////
typedef std::string         T_str;
typedef std::vector<T_str>  T_strings;
typedef std::set<size_t>    T_ind_set;
//////////////////////////////////////////////////////////////////////////////////
//Поиск по шаблону *часть слова*
T_ind_set  find_middle(T_strings  strings, T_str  key)
{
    T_ind_set  ind_set;
    for(size_t  i = 0; i < strings.size(); ++i)
    {
        if(strings[i].find(key) != T_str::npos)
        {
            ind_set.insert(i);
        }
    }
    return  ind_set;
}
//////////////////////////////////////////////////////////////////////////////////
//Поиск по шаблону часть слова?часть слова
T_ind_set  find_head_tail
    (
        T_strings  strings, 
        T_str      head, 
        T_str      tail
    )
{
    T_ind_set  ind_set;
    for(size_t i = 0; i < strings.size(); ++i)
    {
        if(strings[i].find(head) == 0)
        {
            if(strings[i].substr(head.size() + 1) == tail)         
            {
                ind_set.insert(i);
            }
        }
    }
    return  ind_set;
}
//////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    T_strings  strings;
    strings.push_back("Ivanov");
    strings.push_back("Petrov");
    strings.push_back("Sidorov");
    strings.push_back("Babaev");
    strings.push_back("Baboev");
    strings.push_back("Babeev");
    strings.push_back("Babiev");
    strings.push_back("Kuraev");
    strings.push_back("Kuraeva");
    
    for(;;)
    {
        std::cout << std::endl
                  << std::endl
                  << std::endl
                  << std::endl;
 
        std::copy(strings.begin(), strings.end(), 
                  std::ostream_iterator<T_str>(std::cout, "\n"));        
        T_str  key;
        std::cout << std::endl
                  << "Введите шаблон: ";
        std::cin >> key;
        T_ind_set  ind_set;
        if(key.find('*') != T_str::npos)
        {
            key = key.substr(1, key.size() - 2);
            ind_set = find_middle(strings, key);
        }
 
        else
        {
            T_str::size_type  vopr_pos = key.find('?');
            if(vopr_pos != T_str::npos)
            {
                T_str  head = key.substr(0, vopr_pos);
                T_str  tail = key.substr(vopr_pos + 1);
                ind_set = find_head_tail(strings, head, tail);
            }            
        }
        std::cout << "Найденные слова: "
                  << std::endl;
        if(ind_set.empty())
        {
            std::cout << "Ничего не найдено.";
        }
        for(T_ind_set::const_iterator it = ind_set.begin(); it != ind_set.end(); ++it)
        {
            std::cout << strings[*it]
                      << std::endl;
        }
    }
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru