0 / 0 / 0
Регистрация: 17.12.2014
Сообщений: 13
1

Сортировка map по значению

19.04.2016, 12:14. Показов 2150. Ответов 4

Студворк — интернет-сервис помощи студентам
Добрый день
Как можно отсортировать map по возрастанию/убыванию float(неважно ключ это или значение)
Программа- частотный анализ текста
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
#include <fstream>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    ofstream fout("1.txt"); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
    std::ifstream file("8.txt", std::ios_base::binary);
    if (!file)
    {
        std::cerr << "can't open file\n";
        return -1;
    }
 
    size_t count[256];
    std::fill_n(count, 256, 0);
    int k = 0, b;
    int a[256];
    char c;
    for (c; file.get(c); ++count[uint8_t(c)])
    {
        k++;
    }
 
    for (size_t i = 0; i < 256; ++i)
    {
        a[i] = count[i];
        if (a[i] && isgraph(i))
        {
 
            map<char, float> test;
            test[(char)i] = (((float)(a[i] + 1) * 100) / k);
 
            for (map<char, float>::const_iterator it = test.begin(); it != test.end(); ++it)
            {
                cout << it->first << " " << it->second << endl;
                fout << it->first << " " << it->second << endl;
            }
        }
 
    }
 
    fout.close();
    system("pause");
}
Вложения
Тип файла: txt 8.txt (15.9 Кб, 1 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 12:14
Ответы с готовыми решениями:

Сортировка map по значению
Есть некий map: map&lt;string, int&gt; MyMap; Нужно вывести на экран всё содержимое контейнера в...

Сортировка map по значению
Здорова господа!!! Есть массив: map&lt;string, int&gt; m; m=3; m=2; m=10; Нужно найти...

Сортировка std::map по значению
имеется вот такой вот тип: typedef struct { char domain; set&lt;uint32_t&gt; unique_ip;...

Сортировка map по ключу и значению
Всем привет. Я создаю map и добавляю туда элементы: map&lt;int,string&gt; m; m=&quot;a&quot;; m=&quot;c&quot;; m=&quot;b&quot;; ...

4
Модератор
Эксперт С++
13410 / 10520 / 6285
Регистрация: 18.12.2011
Сообщений: 28,091
19.04.2016, 12:29 2
Заведите еще одну map с переставленными float,char и перепишите в нее все пары.
C++
1
2
3
multimap<float,char> test2;
    for (map<char, float>::const_iterator it = test.begin(); it != test.end(); ++it)
        test2.insert(makepair(it->second,it->first));
0
0 / 0 / 0
Регистрация: 17.12.2014
Сообщений: 13
19.04.2016, 22:21  [ТС] 3
Спасибо, но не работает
0
Модератор
Эксперт С++
13410 / 10520 / 6285
Регистрация: 18.12.2011
Сообщений: 28,091
20.04.2016, 08:06 4
Цитата Сообщение от mirumir Посмотреть сообщение
не работает
Приведите код того, что не работает.
0
2652 / 2228 / 239
Регистрация: 03.07.2012
Сообщений: 8,094
Записей в блоге: 1
20.04.2016, 11:54 5
Можно создать вектор и записать в него ссылки на элементы map. Плюс функция/функтор сортировки вектора.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 11:54
Помогаю со студенческими работами здесь

Сортировка map по значению (c заковыкой)
А вот и она. Значение это класс: class Info { public: Info (string _address, string...

Сортировка map по значению int в порядке убывания и частично по ключу char :)
Добрый день. Помогите, пожалуйста, отсортировать std::map &lt;char, int&gt; a. Например, у меня есть...

Выборка map/unordered_map по значению
Добрый вечер товарищи. Я тут уже неделю мучаю голову по поводу одной &quot;глобальной&quot; задачи, из-за...

Map: обращение к значению (класс) через []
Всем добрый день. Подскажите пожалуйста почему в 14 строчке без пустого конструктора пример не...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru