zoukankan      html  css  js  c++  java
  • 《C++ Primer》P314中使用insert重写单词统计程序的扩展

    编写程序统计并输出所读入的单词出现的次数

    想与习题10-1相结合,也就是先输入几组 map<string, int>类型,存入vector中。

    再输入单词word,如果已经存在则在key对应的value+1

    如果不存在,则插入并使得其value为1.

    之前的问题是-》输入了一次之后,再要输入单词word,读不进。(呵呵 果然小白)

    看到11章之后,知道要用语句cin.clear;使得输入流重新有效。

    再然后 重新熟悉了iterator对map的操作。

    #include <iostream>
    #include <utility>
    #include<vector>
    #include <string>
    #include <map>
    
    using namespace std;
    
    int main()
    {
        pair<string,int > sipr;
        string str;
        int ival;
        vector< pair<string,int> > pvec;
        map<string,int> word_count;
        cout<<"Enter a string and an integer ( Ctrl + Z to end) : "
            <<endl;
        while (cin >>str>>ival  )
        {
            sipr = make_pair(str, ival);
            pvec.push_back(sipr);
            word_count.insert(map<string, int>::value_type(str, ival) );
        }
        
        string num;
        cin.clear();
        while ( cin>>num )
        {
            pair<map<string,int>::iterator , bool> ret=
                word_count.insert(make_pair(num, 1));
            if (!ret.second)
            {
                ++ret.first->second;
                cout<<ret.first->first<<" 的值变为:"<<ret.first->second<<endl;
            }
        }
        map<string,int>::iterator it = word_count.begin();
        while (it !=word_count.end())
        {
            cout<<"key:" <<it->first<<"value:"<< it->second <<endl;
            it++;
        }
    
        return 0;
        }
        
  • 相关阅读:
    计算GPS WGS_84 两点的距离
    极路由4_开ssh_刷breed
    aes-256-gcm_python3_php7_golang
    nginx_非标准端口_同端口_http_自动跳转_https
    配置sshd_除了特定ip外_仅密钥登录
    使用scp命令实现服务器之间文件传输
    Java防止重复提
    mysql使用SUBSTRING_INDEX截取部分字符串
    SEO大杀器rendertron安装
    PIC16 bootloader之I2C bootloader
  • 原文地址:https://www.cnblogs.com/betteryi/p/3777440.html
Copyright © 2011-2022 走看看