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

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

Войти
Регистрация
Восстановить пароль
 
mirumir
0 / 0 / 0
Регистрация: 17.12.2014
Сообщений: 13
#1

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

19.04.2016, 12:14. Просмотров 301. Ответов 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 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2016, 12:14     Сортировка map по значению
Посмотрите здесь:

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

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

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

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

Отсортировать контейнер map по значению элементов - C++
Есть заполненный контейнер unordered_map (ну или просто map) Нужно отсортировать его по значению или сделать сортированный по значению...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
19.04.2016, 12:29     Сортировка map по значению #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));
mirumir
0 / 0 / 0
Регистрация: 17.12.2014
Сообщений: 13
19.04.2016, 22:21  [ТС]     Сортировка map по значению #3
Спасибо, но не работает
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
20.04.2016, 08:06     Сортировка map по значению #4
Цитата Сообщение от mirumir Посмотреть сообщение
не работает
Приведите код того, что не работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2016, 11:54     Сортировка map по значению
Еще ссылки по теме:

Map с поиском как по ключу, так и по значению - C++
Реализовано ли подобное в stl? (или в boost, например) И как в теории выглядит эта реализация? Предполагаю, что это два сбалансированных...

Сортировка в map - C++
Доброго времени суток. Имеется структура map: map&lt;string, size_t&gt; words; В ней содержится слово и число. map превращается в vector: ...

Сортировка map - C++
Здрасьте. Есть map (я с ним ещё плохо знаком) map &lt;string, list&lt;string&gt; &gt; data; задача - отсортировать списки в нём (методом sort()). ...

Сортировка в map - C++
Как отсортировать в map не по ключу, а по значению для вывода.

Map'ы - C++
Здравствуйте! Пожалуйста объясните как пользоваться мапами? Реализация, считывание и т.д

map - C++
#include&lt;iostream&gt; #include&lt;map&gt; int main() { std::map&lt;int, int&gt; fib; fib = 1; fib = 1; fib = 2; std::cout &lt;&lt; &quot;Map...


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

Или воспользуйтесь поиском по форуму:
zer0mail
2330 / 1956 / 192
Регистрация: 03.07.2012
Сообщений: 7,013
Записей в блоге: 1
20.04.2016, 11:54     Сортировка map по значению #5
Можно создать вектор и записать в него ссылки на элементы map. Плюс функция/функтор сортировки вектора.
Yandex
Объявления
20.04.2016, 11:54     Сортировка map по значению
Ответ Создать тему
Опции темы

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