c++ primer 5th ,习题11.23自己编写答案
生活随笔
收集整理的這篇文章主要介紹了
c++ primer 5th ,习题11.23自己编写答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?第一部分:自己編寫的程序:
#include <string> #include <iostream> #include <map> #include <fstream> using namespace std; void print(multimap<string,string>&); void add(istream &is,multimap<string,string> &m){ string surname,name;while(is >> surname && is >> name){m.insert(make_pair(surname,name));}}int main(int argc,char **argv) { ifstream in(argv[1]); multimap<string,string> m; add(in,m); print(m); for(auto & i : m){cout << i.first << " ";cout << i.second << endl;}return 0; }void print(multimap<string,string> &m) { multimap<string,string>::iterator it; for(it = m.begin(); it != m.end();++ it){ cout << it->first << " \n\t" << it->second << endl;}}data.txt文件內容:?
王 偉 蘇 州 杭 州 美 利達 捷 安特 捷 豹編譯,運行,結果為:
王 偉 蘇 州 杭 州 美 利達 捷 安特 捷 豹第二部分:答案上的程序:
#include <string> #include <iostream> #include <list> #include <vector> #include <set> #include <map> #include <fstream> using namespace std; typedef map<string,string> families; void add_child(multimap<string,string> &families,const string & surname,const string & name) {families.insert({surname,name}); }int main(int argc,char **argv) { multimap<string,string> families; add_child(families,"張","叉叉"); add_child(families,"郭","東東"); add_child(families,"王","娃娃"); for (auto & i : families){cout << i.first << " family 's child is:" << i.second << endl; } return 0; }執行結果是:
張 family 's child is:叉叉 王 family 's child is:娃娃 郭 family 's child is:東東?
總結
以上是生活随笔為你收集整理的c++ primer 5th ,习题11.23自己编写答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vim从0开始
- 下一篇: s3c2440移植MQTT