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

C++ priority_queue< int , char*, CompareHeap1 > pqMax (создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблемы с SDL http://www.cyberforum.ru/cpp-beginners/thread872750.html
Добрый день. Столкнулся с некоторыми проблемами связанными с SDL. В программе выводит окно а экран закрашивает его в черный как я и указал но дальше уходит в себя и ни на что не реагирует. Укажите,...
C++ C++ Красно-черные деревья Здравствуйте. У меня проблема с реализацией КЧД. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h> #include <iostream> using namespace std; void main() { http://www.cyberforum.ru/cpp-beginners/thread872749.html
C++ Составить линейную программу,печатающую значение true , если указанное высказывание является истинным,и false в противном случае
Составить линейную программу,печатающую значение true , если указанное высказывание является истинным,и false—в противном случае: Сумма цифр данного трехзначного числа N является четным числом.
C++ Механизм замещения
Привет ребят! Пишу наследование. Есть базовый абстрактный класс и два производных. Написала всего одну функцию print и не получается реализовать замещение для нее class osv_prib { public: ...
C++ Вычислить значение м при помоши вспомогательных функций http://www.cyberforum.ru/cpp-beginners/thread872718.html
Вариант 0
C++ ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*') int main() { string fileName, currWord, currMax = ""; cin>>fileName; freopen(fileName, "r", stdin); while (cin>>currWord) { if (2 <= currWord.length() && 'E' ==... подробнее

Показать сообщение отдельно
StereoMuse
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 9

C++ priority_queue< int , char*, CompareHeap1 > pqMax (создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов) - C++

21.05.2013, 11:24. Просмотров 1121. Ответов 3
Метки (Все метки)

Выполняю задачу "Частотный словарь", необходимо создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов.
Использую такой метод для записи в очередь:
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
/* структура для очереди с приоритетом - max */
struct CompareHeap1 {
    bool operator() (heapPair h1, heapPair h2) {
        return (h1.num >= h2.num);
    }
};
/* структура для очереди с приоритетом - min */
struct CompareHeap2 {
    bool operator() ( heapPair h1, heapPair h2) {
        return (h1.num <= h2.num);
    }
};
 
void main(){
priority_queue< int , char*, CompareHeap1 > pqMax;  //очередь с приоритетом(max)
    int i = 0;
    while (i <= hp.size()-1)  //записываем в очередь с приоритетом
    {
        char* w = hp[i].data;
        pqMax.push(w);
        i++;
    }
    //выдаем результат(max)
    cout<< "10 words with max frequency:"<< endl;
    for (int ten=1;ten<=10;ten++) {
        cout<< pqMax.top()<< "      ";
        pqMax.pop();
    }
 
    priority_queue< int , char*, CompareHeap2 > pqMin;  //очередь с приоритетом(min)
    int j = 0;
    while (j <= hp.size()-1)  //записываем в очередь с приоритетом
    {
        char* w = hp[j].data;
        pqMin.push(w);
        j++;
    }
    //выдаем результат(min)
    cout<< "10 words with min frequency:"<< endl;
    for (int tent=1;tent<=10;tent++) {
        cout<< pqMin.top()<< "      ";
        pqMin.pop();
    }
    system("pause");
}
Выдаем огромную кучу ошибок, типа:
c:\program files (x86)\microsoft visual studio 10.0\vc\include\queue(218): error C2825: _Container: должен представлять класс или пространство имен с последующим "::"
c:\program files (x86)\microsoft visual studio 10.0\vc\include\queue(218): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "value_type"
c:\program files (x86)\microsoft visual studio 10.0\vc\include\queue(218): error C2602: std:: priority_queue<_Ty,_Container,_Pr>::value_type не является членом базового класса "std:: priority_queue<_Ty,_Container,_Pr>"
1> with
1> [
1> _Ty=int,
1> _Container=char *,
1> _Pr=CompareHeap1
1> ]
(полный список в прикрепленном файле)

Помогите разобраться...
0
Вложения
Тип файла: txt ошибки.txt (13.1 Кб, 4 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru