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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
StereoMuse
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 9
#1

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

21.05.2013, 11:24. Просмотров 1113. Ответов 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 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 11:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++ priority_queue< int , char*, CompareHeap1 > pqMax (создать очередь с приоритетом для поиска 10 наиболее и наименее часто встречающихся слов) (C++):

20 наиболее часто встречающихся слов - C++
дан файл. выписать 20 наиболее часто встречающихся слов в алфавитном порядке. (структуры использовать нельзя). помогите пожалуйста. заранее...

Получить 10 наиболее часто встречающихся слов из файла - C++
Дан символьный файл f, содержащий произвольный текст длиной более 50 слов. Слова в тексте разделены пробелами и знаками препинания....

Поиск наиболее часто встречающихся слов в файле - C++
Дан символьный файл f, содержащий произвольный текст длиной более 5000 слов. Слова в тексте разделены пробелами и знаками препинания....

Получить 10 наиболее часто встречающихся слов в файле - C++
ребята, срочно нужна помощь в решении задачи!)) Жду , заранее спасибо:) Дан текстовый файл f, содержащий более 1000 слов. Получить 10...

Перевод с C# на С++ (в заданном тексте найти 20 наиболее часто встречающихся слов с указанием количества использования каждого из них) - C++
Помогите пожалуйста перевести с C# на С++.... Я не очень хорошо сейчас знаю библиотеку STL... Задание такое: В заданном тексте найти 20...

Задача по STL (Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип char) - C++
Помогите,пожалуйста, заранее спасибо)) Вот задание: 1. Создать объект-контейнер, очередь с приоритетом, заполнить ее данными, тип...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nexen
21.05.2013, 11:42
  #2

Не по теме:

Всё никак не могу понять, как люди пишут осмысленный код с использованием не самых легкий (с некоторой точки зрения) контейнеров, но при этом, получая ошибки билда, в шоковом состоянии бегут на форум не зная что делать с "отсутствие ";"". Кто-нибудь, пожалуйста, объясните, как это? >_<

0
StereoMuse
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 9
21.05.2013, 11:47  [ТС] #3
nexen, это не моя инициатива - задание в институте. Если вы такой(ая) образованный(ая), почему бы не помочь?
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
21.05.2013, 11:49 #4
StereoMuse, http://www.cplusplus.com/reference/q...priority_queue
Прочитай про второй параметр. Это не char*, как у тебя.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 11:49
Привет! Вот еще темы с ответами:

Вывести 10 наиболее часто встречающихся чисел - C++
Нужно написать функцию, которая находит в векторе(видел с использованием map, но не понимаю особо что к чему, вектор как то ближе) 10...

Найти количество элементов, наиболее часто встречающихся в массиве - C++
Найти кол-во элементов наиболее частых встречающихся в массиве. например массив: 123000 023400 023450 003456 0-не...

Получить 10 наиболее часто встречающихся букв и число их появления из текстового файла - C++
Дан символьный файл f, содержащий произвольный текст. Получить 10 наиболее часто встречающихся букв и число их появления. помогите плиз,...

Дан непустой массив из цифр. Вывести на экран цифру наиболее часто встречающихся в этом массиве. - C++
Доброго времени суток Помогите пжл с задачей Дан непустой массив из цифр. Вывести на экран цифру наиболее часто встречающихся в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.05.2013, 11:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru