codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <map> #include <string> #include <vector> #include <fstream> #include <sstream> #include <iostream> using namespace std; string data = "Иванов Роман Михаил\n" "Петров Алена Ира\n" "Сидоров Галя\n" "Рыбин Олег Костя Игорь\n"; int main() { string fam; //Строка с фамилией string name; //Строка с именем string line; //Строка с текущей линией из файла //Ладно предположим нам зачемто сюда ещё и вектор в карту потребовался map<string, vector<string> > mymap;//Наша карта map<string, vector<string> >::iterator itMap;//Итератор для карты vector <string> vec;//Вектор с именами детей vector <string>::iterator itVec; //Итератор для вектора stringstream ss; stringstream ifs_ss; ss.str(data); //Цикл чтения cout<<"input.txt :\n"; //Хорошо читаем файл построчно while(getline(ss,line)) { ifs_ss.sync();//Обязательно чистим буфер ifs_ss.str(line); ifs_ss>>fam; cout<<fam<<" "; //Я кнечно ХЗ зачем так сложно но ладно пусть будет с вектором while(ifs_ss>>name) { cout<<name<<" "; vec.push_back(name); } mymap.insert(make_pair(fam,vec)); ifs_ss.clear(); vec.clear(); cout<<endl; } cout<<"output.txt :\n"; for (itMap = mymap.begin(); itMap != mymap.end(); itMap++) { vec = (*itMap).second; for(itVec = vec.begin();itVec != vec.end(); itVec++) cout<<(*itVec)<<" "; vec.clear(); } return 0; }
Private
[
?
]
Run code
Submit