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

Параметризованный класс(поле - список адаптера контейнера - очередь с приоритетом) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в коде http://www.cyberforum.ru/cpp-beginners/thread961341.html
Дорогие программисты! Помогите пожалуйста юному прогеру понять в чем трабла ) сабж: #include <iostream> using namespace std; unsigned long int Perimeter(unsigned short int length, width); int main()
C++ Не могу записать в файл написал программу, числа из одного файла записывать в другой . Вчера работала а седня не работает . помогите, в чем может быть дело?\ #include "stdafx.h" #include "iostream" #include <string> #include <fstream> using namespace std; void main() { http://www.cyberforum.ru/cpp-beginners/thread961340.html
Задача на сортировку строк C++
Задача: в 10 строковых переменных занесите 5 рандомных символов, а потом сортируйте их в порядке возрастания. Помогите советом, пожалуйста-как создать массив строк, и присвоить рандомное значение int?
std::map в инлайн-асме C++
Доброго времени суток Имеется MAP-массив содержащий хуки для функций Нужно получить соответствующий адрес в naked функции: std::map<PVOID, PVOID> mHooks; //... __declspec(naked) void _hookHandler() { __asm { push ebp
C++ Наследование http://www.cyberforum.ru/cpp-beginners/thread961291.html
Ребят помогите на основе классе сделать подкласс( наследование на основе добавление элемента методом очереди).Т.е что надо , задаем число н задач, задали приоритет имя, он нам вывел или не вывел записи как нажали меню, и нужно к нашему заданному количеству добавить еще 1 элемент в конец нашего хранящегося. #include<iostream> #include<math.h> #include<time.h> #include<fstream> using namespace...
C++ Ошибка HEAP CORRUPTION Добрый вечер, программисты) Не могли бы вы подсказать новичку, каким образом можно обнаружить ошибку (heap corruption). Трассировка показала, что сообщение выскакивает когда функция test() заканчивается, а дальше вообще неясно. Заранее спасибо. https://gist.github.com/anonymous/6683761 - сортировки(header) https://gist.github.com/anonymous/6683768 - main подробнее

Показать сообщение отдельно
o33ik
138 / 5 / 1
Регистрация: 25.03.2013
Сообщений: 228
24.09.2013, 20:03  [ТС]     Параметризованный класс(поле - список адаптера контейнера - очередь с приоритетом)
Insane__, ага, теперь все понятно, спасибо

Добавлено через 30 минут
Insane__, ех.. мне по заданию надо контейнер делать не от вектора делать, а от списка. опять не могу создать копию в show_q(). но конструктор то есть, и если вместо адаптера для списка использовать вектор, то работает.
Кликните здесь для просмотра всего текста

"sourse_5.h"
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
#include <iostream>
#include <string>
#include <list>
#include <queue>
 
using namespace std;
 
void TASK_5();
 
template <class atype>
class myPriotQueue
{
    private:
    priority_queue <atype,list<atype>, less<atype> > Queue;
 
    public:
        myPriotQueue(){}
        myPriotQueue(priority_queue <atype> Q)
        {
            Queue = Q;
        }
        void push_q();
        void pop_q();
        void show_q();
        void ser_arif_q();
        void del_from_diap_q();
        void add_min_max_q();
};
"sourse_5.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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include "sourse_5.h"
 
 
void TASK_5()
{
    myPriotQueue<double> mque;
    bool Q = true;
    while(Q)
    {
        int key;
        std::cout << "\n\t\t\tMENU\n\t1)PUSH ITEM TO THE QUEUE;\n\t2)POP ITEM FROM THE QUEUE;\n\t3)SHOW ITEMS IN QUEUE;\n\t4)DETERMINE THE AVERAGE ARITHMETIC AND PUSH IT IN THE QUEUE;\n\t5)DELETE ITEM FROM RANGE;\n\t6)ADD SUM MIN AND MAX ITEMS TO ALL ITEMS OF QUEUE;\n\t0)Exit.\n\tEnter key:";
        std::cin >> key;
        switch(key)
        {
            case 1: mque.push_q(); break;
            case 2: mque.pop_q(); break;
            case 3: mque.show_q(); break;
            //case 4: mque.ser_arif_q();break;
            //case 5: mque.del_from_diap_q();break;
            //case 6: mque.add_min_max_q();break;
            case 0: {Q = false;}
        }
        system("cls");
    }
    system("cls");
}
 
template<class atype> 
void myPriotQueue<atype>::push_q()
{
    cout << "\nFUNCTION PUSH FOR A QUEUE";
    atype val;
    while(true)
    {
        cout << "\nEnter value: ";
        cin >> val;
        Queue.push(val);
        char Q;
        while(true)
        {
            cout << "\nContinue(y/n)?";
            cin >> Q;
            if (Q == 'y')
                break;
            if (Q == 'n')
                break;
            else
            {
                cout << "\nError! Invalid choise. Try again";
                continue;
            }
        }
        if (Q == 'n') 
            break;
    }
}
 
template<class atype> 
void myPriotQueue<atype>::pop_q()
{
    cout << "\nFUNCTION POP FOR A QUEUE\n";
    if (Queue.size()==0)
        cout << "\nError! List is empty.\n";
    else
    {
        Queue.pop();
        cout << "\nItem deleted\n";
    }
    system("pause");
}
 
template<class atype> 
void myPriotQueue<atype>::show_q()
{
    cout << "\nSHOW LIST\n";
    if (Queue.size()==0)
        cout << "\nError! List is empty.\n";
    else
    {
        priority_queue <atype> quetmp = Queue;  // немогу создать копию 
        while (quetmp.size()!=0)
        {
            cout << quetmp.top() << "\n";
            quetmp.pop();
        }
        cout<<"\n";
    }
    system("pause");
}
//
//template<class atype> 
//void myPriotQueue<double>::ser_arif_q()
//{
//  cout << "\nDETERMINE THE AVERAGE ARITHMETIC AND PUSH IT IN THE BOTTOM OF THE LIST\n";
//  if (mylist.size()==0)
//      cout << "\nError! List is empty.\n";
//  else
//  {
//      double sum=0, ser_arif;
//      list<atype>::iterator S;
//      for(S = mylist.begin(); S != mylist.end(); S++)
//      {
//          sum = sum + *S;
//      }
//      ser_arif = sum / mylist.size();
//      cout << "\nAVERAGE ARITHMETIC = " << ser_arif <<  endl;
//      mylist.push_back(ser_arif);
//  }
//  system("pause");
//}
//
//template<class atype> 
//void myPriotQueuey_prior_queue<double>::del_from_diap_q()
//{
//  cout << "\nREMOVE ITEMS FROM THE SPECIFIED RANGE\n";
//  if (mylist.size()==0)
//      cout << "\nError! List is empty.\n";
//  else
//  {
//      list<atype> mylist_tmp = mylist;
//      double a,b;
//      cout << "\nEnter diapason: \n";
//      cin >> a >> b;
//      if (a > b)
//          swap(a,b);
//
//      int size = mylist.size();
//
//      for (int i = 0; i < size; i++)
//      {
//          mylist.pop_front();
//      }
//  
//      for (int i = 0; i < size; i++)
//      {
//          if (mylist_tmp.front() >= a && mylist_tmp.front() <= b)
//              mylist_tmp.pop_front();
//          else 
//          {
//              double TMP = mylist_tmp.front();
//              mylist.push_back(TMP);
//              mylist_tmp.pop_front();
//          }
//      }
//  }
//  system("pause");
//}
//
//template<class atype> 
//void myPriotQueue<double>::add_min_max_q()
//{
//  cout << "\nADD MIN MAX\n";
//  list<atype>::iterator Q;
//  double min = mylist.front(), max=mylist.front(), sum;
//  int size = mylist/*_tmp*/.size();
//  
//  for (Q = mylist.begin(); Q != mylist.end(); Q++)
//  {
//      if (*Q > max)
//          max = *Q;
//      if (*Q < min)
//          min = *Q;
//  }
//  sum = max+min;
//  cout << "\nMin: " << min << "\nMax: " << max << "\nSum: " << sum << endl;
//  for (Q = mylist.begin(); Q != mylist.end(); Q++)
//  {
//      *Q = *Q + sum;
//  }
//  system("pause");
//}
 
Текущее время: 16:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru