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

STL Containers - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL Iterators http://www.cyberforum.ru/cpp-beginners/thread634421.html
Допустим есть проект #ifndef ContainerTemplateFunction_hpp // Preprocessor gates #define ContainerTemplateFunction_hpp #include <list> #include <vector> #include <iostream>
C++ Перевод из кодировки UTF - 8 в ANSI Всем привет! Пишу прогу на линухе, результаты работы вывожу в html файл. Так вот когда открываю файл для прочтения с помощью браузера там иероглифы, с помощью текстового редактора в linux то все ок. Я так понял что браузер не нравиться кодировка, конечно можно в настройках браузера изменить, но мне нужно что бы такой заморочки не было. Подскажите как мне изменить кодировку? http://www.cyberforum.ru/cpp-beginners/thread634420.html
C++ Книги для использования оконных приложений
Всем привет. Консольные приложение это хорошо, но я уже прочитал книгу, и более менее знаю азы c++. Но хотелось бы создавать уже нормальные, красивые приложения с использованием Windows Forms Application. Хочу попросить чтобы мне посоветовали литературу или сайт где есть уроки поповоду использования WFA.
C++ Разыменования указателя
Добрий день подскажите пожалуйса можно ли разыменовать такое вот виражения pt->str char*pt-указатель str объект класса _bstr_t нужно получить данные которые находятся в str если сделать вот так cout<< pt->str; то я данные вижу а если вот так SetDlgItemText(IDC_EDIT1,pt->str); то в окно EDIT1 ничего не выводит может его можно разыменовать?
C++ Засада с машинным эпсилон, или Либо я дурак http://www.cyberforum.ru/cpp-beginners/thread634398.html
Эту задачку выполняют все начинающие. Так вот, берём два простеньких кода. Они настолько коротки, тупы и очевидны, что я даже не комментировал их. Первый, работает нормально. #include <iostream> using std::cout; using std::endl;
C++ Тема: Записи. Работа с текстовыми файлами Тема: Записи. Работа с текстовыми файлами. Дан файл f, содержащий сведения о багаже нескольких пассажиров. Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах). Найти число пассажиров, имеющих более двух вещей и число... подробнее

Показать сообщение отдельно
Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1

STL Containers - C++

07.08.2012, 19:20. Просмотров 509. Ответов 9
Метки (Все метки)

Допустим есть проект
Как сделать вектор растущим...
насколько я понимаю это надо юзать resize() function мол
VectorDoubles.resize(и тут типа число элементов )

Но вопрос такой... я вот не инициализировал никакое значение в VectorDoubles и начал push_back чить его в цикле и что то он у меня не ругается... т.е. он у меня из без кого растущий получается ??? или я не догоняю какой то момент ???

И если все таки юзать resize() то это получаться в цикле вводить какую то переменную к нему в аргумент и там в же в цикле пушь бекить его или как ???

Заранее спасибо

main.cpp
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include <iostream>
#include <list>
#include <vector>
#include <map>
#include <string>
 
 
 
void printlist(const std::list<double>& myList)
{
    std::list<double>::const_iterator i;
    for (i = myList.begin(); i != myList.end(); ++i)
        {
                std::cout << *i << "\n"; 
        }
}
 
int main()
    {
                std::cout       << "\n\t --- Level 7. Overview of the STL --- \n"
                                << "\t --- Exercise 1: STL Containers --- \n";
// ________________________________________________ LIST ________________________________________________
                std::cout   << "\n\n\t\t    --- TEST OF CONTAINER --- " 
                            << "\n\t\t\t --- *LIST* --- \n " ;
 
        std::cout   << "\n Let's cast basic functionality of <list>" 
                    << "\n Container like how to include, exclude elements and ect "
                    << "\n First at all let's create data array that is filled doubles \n" ;
 
        const unsigned int size_of_data_array = 20; 
 
        double data_doubles[size_of_data_array] 
                    =   {1830 , 190.1, 191.4 , 1863 , 1839 , 
                         1413 , 1914 , 18.65 , 1656 , 18.95,
                         1903 , 172.2, 1.656 , 1088 , 1789 , 
                        19.47 , 1211 , 196.9 , 1895 , 1628   } ; 
 
 
        std::cout   << "\n Now using push_back function fill"
                    << "\n Instance of list with elements from our the double array \n\n" ;
                
 
        std::list<double> TestListContainsDoubles ;     // List iterator
        for (int i = 0; i < 10; i++)
            {
                TestListContainsDoubles.push_back(data_doubles[i]);
            }
 
        std::cout   << "\n Using function printlist (that we create before) we can print the list \n";
 
        printlist(TestListContainsDoubles);
 
 
    
        std::cout   <<  "\n Using function front() we can return first element of the list." 
                    <<  "\n The first element of TestListContainsDoubles is :  " 
                    <<  TestListContainsDoubles.front() 
                    <<  "\n Using function back() we can return LAST element of list."
                    <<  "\n The LAST element of list1 is :  " 
                    <<  TestListContainsDoubles.back() ;
                
// ________________________________________________ VECTOR ________________________________________________
    
                    std::cout   << "\n\n\n\t\t     --- TEST OF CONTAINER --- " 
                                << "\n\t\t\t --- *VECTOR* --- \n " ;
 
        std::cout   << "\n Let's cast basic functionality of <vertor> container " 
                    << "\n container like how to include, exclude elements and ect"
                    << "\n We will be use data array that we created before \n" ;
 
        std::cout   << "\n Now using push_back function fill"
                    << "\n Instance of <vector> with elements from our the double array \n\n" ;
 
        
 
        std::vector<double> VectorDoubles;
        for (int i = 0; i < size_of_data_array/2; i++)
            {
                VectorDoubles.push_back(data_doubles[i]);
            }   
        
            
        std::cout   << "\nNow let's  print our <vector> container  \n";
        
            for (int i = 0; i < VectorDoubles.size(); ++i)
                {
                    std::cout << "index ["<< i << "] element " << VectorDoubles[i] ;
                    if (i % 2 <= 0 )
                        std::cout << "\t"; 
                    else 
                        std::cout << "\n"; 
                
                }
                
            
 
        std::cout   << "\n Unlike <list> container "
                    << "\n Using <vector>  we can get access to any element "
                    << "\n of vector with which we work    " 
                    << "\n Just use operator [] (square braket)  \n\n";
                
                    unsigned int random_index  =  0; 
    
        unsigned int i = 0; 
        while (  i != VectorDoubles.size()-1)
            {
                    random_index = std::rand()%10; 
                    std::cout   << "index ["<< random_index << "] element " 
                                << VectorDoubles[random_index];
 
                    if (i % 2 <= 0 )    std::cout << "\t"; 
                    else                std::cout << "\n";  
                i++;
            }
 
// ________________________________________________ MAP ________________________________________________
    
                        std::cout   << "\n\n\n\t\t     --- TEST OF CONTAINER --- " 
                                    << "\n\t\t\t --- *MAP* --- " ;
 
        std::map<double, std::string> MapDoubleString;
        
 
        MapDoubleString[data_doubles[1]] = "one";
        MapDoubleString[data_doubles[2]] = "two";
        MapDoubleString[data_doubles[3]] = "three";
 
        for (auto i = MapDoubleString.cbegin(); i != MapDoubleString.cend(); ++i)
            {
                std::cout   <<"\n [" << i -> first <<"] - > <" << i -> second <<">" ;
            }
 
        std::cout   << "\n Unlike <list> or <vector> containers"
                    << "\n Using <map>  we can get access to any element or information"
                    << "\n Using key of a element"
                    << "\n Just use operator [] (square braket)"
                    << "\n For example let's get information that associate with key"
                    << "\n [data_doubles[1]] ( in other words  19.01 ) associate with - >  "
                    << MapDoubleString[data_doubles[1]] ; 
 
        std::cout   << "\n\n\n\t\t"; 
        return 0;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru