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

Контейнерные классы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
19.12.2010, 23:48     Контейнерные классы #1
Добрый вечер!
Получил задание на редактирование параграфов из файла. Решил делать через контейнер вида map. Все считывается и выводится, но проблема в том, что выводится не по порядку.
Например, сначала он выводит параграфа_1, а затем параграф_10,11,12 и как только дойдет до 19 выведет второй. Можно ли организовать в порядке возрастания?
Если необходимо, могу прислать код.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2010, 23:48     Контейнерные классы
Посмотрите здесь:

Контейнерные классы C++
Контейнерные классы C++. C++
C++ Последовательные контейнерные классы
C++ Абстрактные контейнерные типы ?
Контейнерные классы: стек и очередь C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
19.12.2010, 23:52     Контейнерные классы #2
Делали бы лучше через контейнер типа vector.
"10" < "2"
Поэтому "Параграф_2" > "Параграф_10".
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
20.12.2010, 00:30  [ТС]     Контейнерные классы #3
Т.е считывается не как десять, а как 1.0, 1.1?
Я взял мэп, потому что элементы хранятся как "ключ-значение", а это мне подходит, но не ожидал что тут так будет выводится Значит исправить никак, да?
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
20.12.2010, 00:32     Контейнерные классы #4
jood, покажите пожалуйста код, где вы сравниваете очередность вывода. который параграф младше
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
20.12.2010, 00:34     Контейнерные классы #5
Вы можете отдельно хранить последовательность параграфов в массиве.
jood
3 / 3 / 0
Регистрация: 19.10.2009
Сообщений: 41
20.12.2010, 00:51  [ТС]     Контейнерные классы #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void read_gloss_items()
{
    string key_str, str;
    while (!incoming.eof())
    {
        getline(incoming,key_str,'#');
        getline(incoming,str,'@');
        glossary[key_str]=str;
    }
}
void write_entire_glossary()
{
    glos::iterator i;
    for (i=glossary.begin(); i!=glossary.end(); i++)
        cout<<"[Заголовок = ]"<<i->first<<endl<<"[Содержимое]"<< i->second<<endl;
Вот функции ввода и вывода.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2010, 00:55     Контейнерные классы
Еще ссылки по теме:

C++ Контейнерные классы
C++ контейнерные классы
Контейнерные классы C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.12.2010, 00:55     Контейнерные классы #7
jood, Мапу надо использовать с умом. У нее сортировка значений (или ключей, точно не помню) используется. У вас судя по всему std::map<std::string, std::string>...
Yandex
Объявления
20.12.2010, 00:55     Контейнерные классы
Ответ Создать тему
Опции темы

Текущее время: 08:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru