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

Заполнить контейнер map и vector данными из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ из 16 в 10 (системы счисления) http://www.cyberforum.ru/cpp-beginners/thread721525.html
Как на C++ перевести шестнадцетиричное число в десятичное?? Обе переменные int типа!!!!
C++ редагование файла В тхт файле есть данные по студентах: ФИО, телефон, возвраст. Каждая строка новый студент. Нужно спросить у пользователя какую строчку нужно отредактировать - вывести ее на экран - отредактировать и переписать файл с новым значением определенной строки. Как такое реализовать?) http://www.cyberforum.ru/cpp-beginners/thread721521.html
C++ обратная польская запись
Требуется написать программу получения из обычной записи обратную польскую запись. Например: входные данные: 12*(3+5) выход: 12 3 5 + * Добавлено через 59 секунд помогите пожалуйста
Сформировать произвольную матрицу C++
Здравствуйте ув. участники форума. Помогите пожалуйста. Даны натуральные числа n, M (n<M). Cформировать произвольную матрицу размерностью n*M. Найти наибольший и наименьший элемент заштрихованной области.
C++ Динамический трёхмерный массив (создать) http://www.cyberforum.ru/cpp-beginners/thread721507.html
Помогите создать трёхмерный динамический массив. int size=10; int ***Field; Field=new int**; for(int i=0;i<size;i++) Field=new int*; for(int i=0;i<3;i++) Field=new int; Ошибка: error C2440: =: невозможно преобразовать "int *" в "int **"
C++ Утечка памяти Либо я себе мозг запудрила, либо помогите мне :) есть у меня вектор vector<char*> names_variable; дополняю его таким образом char* s = new char; s = '\0'; // код ... names_variable.push_back(s); и при этом не удаляю указатель s .. ибо в векторе останется пусто подробнее

Показать сообщение отдельно
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
07.12.2012, 22:34     Заполнить контейнер map и vector данными из файла
Цитата Сообщение от Beta Посмотреть сообщение
Контейнер vector должен быть внутри map, т.е. ключ это название лифта, а значение(максимальный этаж и вес) содержит в себе vector.
Глупость какая-то. Так?
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
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <string>
#include <utility>
#include <limits>
#include <cstdlib>
 
 
int main(int argc, char * argv[]) {
   if (argc != 2) {
      std::cerr << "Invalid argument(s). Filename expected." << std::endl;
      return EXIT_FAILURE;
   }
   
   std::ifstream ifs(argv[1]);
   if (!ifs) {
      std::cerr << "Could not open file '" << argv[1] << "' for reading." << std::endl;
      return EXIT_FAILURE;
   }
 //  std::istream & ifs = std::cin;
 
   typedef std::map<std::string, std::vector<int> >     map_type;
   map_type lifts;
   
   while (ifs) {
      int maxFloor;
      int maxWeight;
      std::string name;
 
      ifs >> maxFloor>> maxWeight >> name;
      ifs.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
      
      std::vector<int> data;
      data.reserve(2);
      data.push_back(maxFloor);
      data.push_back(maxWeight);
 
      lifts.insert(std::make_pair(name, data));
   }
 
   for (map_type::const_iterator it = lifts.begin(); it != lifts.end(); ++it) {
      std::cout << it->second[0] << '\t' << it->second[1] << '\t' << it->first << std::endl;
   }
}
http://ideone.com/IqPDJU
 
Текущее время: 21:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru