Strings: Beispiel: Wordcount


/* 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 next 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