/* GR/MFH Word-Cout mit einem Set und der Klasse String
* 1998-11, 2000-5
*/
#include <iostream>
#include <map>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
const string trennzeichen(" \t\n,.!;(){}[]=+-*");
map<string,int> m; // String ist Schluessel
string s;
while(cin >> s) {
string::size_type w_begin, w_end; // Zeiger im String
w_begin = s.find_first_not_of(trennzeichen);
while(w_begin != string::npos) // Was gefunden?
{
w_end = s.find_first_of(trennzeichen,w_begin);
m[s.substr(w_begin,w_end-w_begin)]++;
w_begin=s.find_first_not_of(trennzeichen,w_end);
// Sucht ab Ende des letzten Worts (w_end)
}
}
for( map<string,int>::iterator i=m.begin(); i != m.end(); ++i )
{
cout << i->first << " : " // Schluessel
<< i->second << endl; // Wert
}
return 0;
}
Previous: Strings
Next: Verwendung einer Liste
Index: Contents
© 1998 Michael Hahsler,
Abteilung für
Informationswirtschaft,
Living Lectures - Virtual University,
The Virtual Library,
WU-Wien.
5/16/2000 11:29:37