Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нужно выбрать структуру хранения данных

281
13 апреля 2007 года
Fan][
279 / / 19.12.2003
Нужна структура, в которой каждой string соответсвовал бы vector<int>. Ну, что-то типа map<string, vector<int>>.
Но что-то ничего не получается. Может это не map должна быть?
395
13 апреля 2007 года
RelB
367 / / 09.11.2002
[QUOTE='Fan][;186185']Нужна структура, в которой каждой string соответсвовал бы vector<int>. Ну, что-то типа map<string, vector<int>>.
Но что-то ничего не получается. Может это не map должна быть?[/QUOTE]А что не получается? Что пишет компилятор?
320
13 апреля 2007 года
m_Valery
1.0K / / 08.01.2007
Можно так сделать.

Код:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <map>
#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    wcout.imbue(std::locale("Russian_russia.OCP"));
    typedef vector<int> child;
    map<string,child> m_map;
    int size;
    string str;
    wcout<<L"Введите количество элементов отображения"<<endl;
    cin>>size;
     for(int i = 0;i<size;++i)
    {
        cin>>str;
        m_map.insert(map<string,child>::value_type(string(str),child(i)));
    }
    wcout<<L"\tпокажем отображение ...\n";
    for(map<string,child>::iterator it = m_map.begin(); it != m_map.end(); ++it){
        wcout<<L"ключ :";
        cout<<it->first;
        wcout<<L"\tзначение :";
        cout<<'\t'<<it->second.size()<<endl;
    }
    return 0;
}
320
13 апреля 2007 года
m_Valery
1.0K / / 08.01.2007
Нет,правильней так.
Код:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <ctime>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    srand(time(0));
    wcout.imbue(std::locale("Russian_russia.OCP"));
    wcout<<L"\tсоздаем сложное отображение ..."<<endl;
    typedef vector<int> child;
    child child_name;
    map<string,child> m_map;
    int size;
    vector<string> m_name;
    string name,name1;
    wcout<<L"введите размер отображения ..."<<endl;
    cin>>size;
    int *count = new int[size];
    for(int i = 0;i<size;++i)
    {
      wcout<<L"вводите ключ"<<endl;
      cin>>name;
      m_name.push_back(name);
    }
    for(int i = 0;i<size;++i)
    {
      wcout<<L"Сколько значений у "<<endl;
          cout<<m_name<<endl;
      cin>>count;
      for(int j = 0;j<count;++j){
       child_name.push_back(rand() % 10);
      }
      m_map.insert(map<string,child>::value_type(string(m_name),child(child_name)));
      child_name.clear();
    }
    delete count;
    wcout<<L"отображение заполнено ..."<<endl;
    wcout<<L"\tпокажем отображение ..."<<endl;
    for(map<string,child>::iterator it = m_map.begin(); it != m_map.end(); ++it){
        wcout<<L"ключ :"<<endl;
            cout<<it->first<<endl;
        wcout<<L"значения :"<<endl;
        for(int i = 0;i<it->second.size();++i)
            cout<<'\t'<<it->second<<' ';
            cout<<endl;
    }
    return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог