lexikon
auto
getypte Iteratoren Schreiben Sie ein C++ Programm, das nach Wörter über von der Konsole einliest und sie in einer Worliste
words
speichert, sortiert und die ersten n-Worte ausgeben kann. Dazu definieren Sie sich eine Klasse lexikon
.
Die Idee ist, dass diese Klasse in einem wstring Vector alle Wörter des Lexikons
speichert.
Definieren Sie eine Klasse lexikon
.
Im ihrem private
Bereich
soll ein Vector definiert werden, der Wörter speichern kann.
public: bool is_element(wstring); void insert(wstring); void sort_me() void print_number_of_words(); void head(int n); private:
void rm_punct(wstring&); vector<wstring> words; int number_of_words;
lexikon
definiert eine private
Methode void rm_punct(wstring &word)
die alle Punktuationszeichen
am Anfang und Ende des eingegebenen Strings word
entfernt. (verwenden Sie Lösungen
aus den letzten Aufgaben)lexikon
definiert eine public Methode bool is_element(wstring word)
,
die testet, ob der eingebene wstring word
schon im Lexikon vorkommt. (Entfernen
Sie innerhalb dieser Methode zuerst mit rm_punct(wstring&)
alle Punktuationszeichen am Anfang und Ende des eingegebenen Strings und verwenden
Sie dann die STL-Routine find
). Falls das Wort nicht vorkommt, wird der Wert
true
zurückgeliefert, ansonsten false.
public
Methode bool insert(wstring Wort)
, die zuerst alle Punktuationszeichen
am Anfang und Ende des eingegebenen Worts entfernt (verwenden Sie die private Methoden) und das Wort nur dann im Container vector words
speichert, wenn es noch nicht vorkommt.
Wenn das Wort eingefügt wird, liefern Sie den Wert true zurück. print_anzahl_wörter()
die ausgibt, wieviele Wörter im Lexikon sind.
sort_me()
die das Lexikon alphabetisch sortiert. (verwenden Sie STL-Routine sort())void head(int n)
die Elemente im Container sortiert und die ersten n Elemente des sortierten Lexikons ausdruckt./usr/bin/time
die CPU Dauer ihres C++ Programms und die Kette der UNIX Befehle man time - run programs and summarize system resource usage