Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> STL map, функция уделения 
:(
    Опции темы
SectoR
Дата 17.2.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет




Здраствуйте...

Имеется STL-контейнер map, в котором хранятся пары
строка(string) и число(float)

Вот код:
Код

#include<iostream>
#include<fstream>
#include<stdlib>
#include<map>
#include<vcl>

#define SIGN_COUNT 3
#define MAX_ITEMS 5
#define MIN_SUP 0.5
#define TRANSACT_COUNT 3

using namespace std;

typedef map<string, float> maptype;
maptype L1;
//---------------------------------------------------------------------------

void initialize()
{
  char it_buf[SIGN_COUNT];
  for(int i=1; i<MAX_ITEMS+1; i++)
  {
    itoa(i, it_buf, 10);
    L1[it_buf]=0.0;
  }
}
//---------------------------------------------------------------------------

void print()
{
  for(maptype::iterator i=L1.begin(); i!=L1.end(); i++)
  {
    cout<<(*i).first<<" "
        <<(*i).second<<endl;
  }
}
//---------------------------------------------------------------------------


Допустим есть функции, которая
прогоняет все пары и прибавлеяет к числу первой пары 1, к числу второй - 2 и т.д.

Вот смотрите теперь сюда:
Код

  int k=0;
for(maptype::iterator i=L1.begin(); i!=L1.end(); i++)
    {

        (*i).second=(*i).second+k; k++;
    }

  for(maptype::iterator i=L1.begin(); i!=L1.end(); i++)
  {
     *(i).second = *(i).second / TRANSACT_COUNT;

     //тут компилятор пишет, что second не является членом)))
     //как так, если выше аналогичный цикл for
  }

PM   Вверх
Fazil6
Дата 17.2.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



ну и что тебе непонятно?
посмотри как ты скобки в первом и втором случае поставил...
вообще зачем разыменовывать итератор? пиши как с указтелем и все
Код

i->second

PM MAIL   Вверх
SectoR
Дата 17.2.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



бывает же - не заметил... засиделся!
PM   Вверх
JackYF
Дата 18.2.2008, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



SectoR, помечай тему решённой smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.