首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手问下stl的有关问题

2013-07-25 
新手问下stl的问题# include iostream# include string# include vector# include set# include

新手问下stl的问题
# include <iostream>
# include <string>
# include <vector>
# include <set>
# include <map>
# include <iterator>
# include <algorithm>
# include <cctype>
using namespace std;
//把字母转成小写
char tolowers(char ch){return tolower(ch);}
string & Tolower(string & t);
void display(const string & s);
int main ()
{
vector<string> words;
string input;
while(cin >> input && input != "quit")
words.push_back(input);
cout<<"输出:";
for_each(words.begin(),words.end(),display);
cout<<endl;
set<string>wordset;
transform(words.begin(),words.end(),insert_iterator<set<string>>(wordset,wordset.begin()),Tolower);
cout<<"输出";
for_each(wordset.begin(),wordset.end(),display);
cout<<endl;
map <string ,int> wordmap;
set<string>::iterator si;
for(si = wordset.begin();si != wordset.end();si++)
wordmap[*si] = count(words.begin(),words.end(),*si);
for(si = wordset.begin();si != wordset.end();si++)
cout<<*si<<":"<<wordmap[*si]<<endl;

}
void display(const string & s)
{
cout<< s<<" ";
}
string & Tolower(string & t)
{
transform(t.begin(),t.end(),t.begin(),tolowers);
return t;
}
[解决办法]
transform(words.begin(),words.end(),insert_iterator<set<string> >(wordset,wordset.begin()),Tolower);

热点排行