⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_60015.htm

📁 vc
💻 HTM
字号:
<p>
序号:60015 发表者:ljl 发表日期:2003-11-11 15:39:29
<br>主题:c++ primer上的程序,请帮忙看看,谢谢!
<br>内容:#pragma warning(disable : 4786) <BR>#include &lt;map&gt;<BR>#include &lt;vector&gt;<BR>#include &lt;iostream&gt;<BR>#include &lt;string&gt;<BR>#include &lt;functional&gt;<BR><BR>using namespace std;<BR><BR>void main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;map&lt; string, string &gt; trans_map;<BR>&nbsp;&nbsp;&nbsp;&nbsp;typedef map&lt; string, string &gt;::value_type valType;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//第一个权宜之计:将转换对固定写在代码中<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;gratz&#34;, &#34;grateful&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;em &#34;, &#34;them&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;cuz&#34;, &#34;because&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;nah&#34;, &#34;no&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;sez&#34;, &#34;says&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;tanx&#34;, &#34;thanks&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;wuz&#34;, &#34;was&#34; ));<BR>&nbsp;&nbsp;&nbsp;&nbsp;trans_map.insert( valType( &#34;pos&#34;, &#34;suppose&#34; ));<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//ok: 先是trans_map<BR>&nbsp;&nbsp;&nbsp;&nbsp;map&lt; string, string &gt;::iterator it;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;Here is our transformation map: \n\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for( it = trans_map.begin (); it != trans_map.end(); ++it )<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;key: &#34; &lt;&lt; (*it).first &lt;&lt; &#34;\t&#34;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&lt; &#34;value: &#34; &lt;&lt; (*it).second &lt;&lt; &#34;\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;\n\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//第二个权宜之计:固定写入文字<BR>&nbsp;&nbsp;&nbsp;&nbsp;string textarray[14] = { &#34;nah&#34;, &#34;I&#34;, &#34;sez&#34;, &#34;tanx&#34;, &#34;cuz&#34;, &#34;I&#34;,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;wuz&#34;, &#34;pos&#34;, &#34;to&#34;, &#34;not&#34;, &#34;cuz&#34;, &#34;I&#34;, &#34;wuz&#34;, &#34;gratz&#34; };<BR>&nbsp;&nbsp;&nbsp;&nbsp;vector&lt; string &gt; text(textarray, textarray + 14);<BR>&nbsp;&nbsp;&nbsp;&nbsp;vector&lt; string &gt;::iterator iter;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//ok: show text<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;Here is our original string vector: \n\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int cnt = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for( iter = text.begin(); iter != text.end (); ++iter, ++cnt)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; *iter &lt;&lt; ( cnt % 8 ? &#34; &#34; : &#34;\n&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;\n\n\n&#34;;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//饱含统计信息的map ---动态生成<BR>&nbsp;&nbsp;&nbsp;&nbsp;map&lt; string, int &gt; stats;<BR>&nbsp;&nbsp;&nbsp;&nbsp;typedef map&lt; string, int &gt;::value_type statsValType;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//ok: 真正的map工作---程序的核心<BR>&nbsp;&nbsp;&nbsp;&nbsp;for( iter = text.begin (); iter != text.end(); ++iter)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(( it = trans_map.find (*iter)) != trans_map.end ())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ( stats.count (*iter))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stats[ *iter ] +=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else stats.insert(statsValType( *iter, 1));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*iter = (*it).second;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//ok: 先是被转换后的vector<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; &#34;Finally, here are our statistics: \n\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;map&lt;string, int, less&lt;string&gt;, allocator&gt;::iterator siter;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for( siter = stats.begin (); siter != stats.end(); ++siter)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; (*siter).first &lt;&lt; &#34; &#34;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&lt; &#34;was transformed &#34;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&lt; (*siter).second<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&lt; ((*siter).second == 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&lt; &#34; time\n&#34; ;//: &#34; times\n&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR><BR><BR>2003-12-29 12:19:50

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -