Ich hab leider ein Problem bei dieser Programmierung :-(
einen Text
von der Tastatur einliest und ein Histogramm der Längen der in diesem Text
vorkommenden Wörter ausgibt. Ein Wort sei eine Zeichenkette, die kein Leerzeichen
enthält.
Wortlängen, die in dem Text nicht vorkommen, sollen im Histogramm nicht dargestellt
werden. Wörter mit mehr als 20 Buchstaben sollen der Wortlänge 20 zugeordnet
werden.
Hinweise:
- Ein Histogramm ist ein Balkendiagramm, das die Häufigkeitsverteilung einer
Variablen darstellt. Dazu muss diese zunächst klassifiziert werden. Das
Histogramm besteht aus mehreren waagerechten Balken, die die Klassen
repräsentieren. Die Länge der einzelnen Balken ist proportional zu der Häufigkeit der jeweiligen Klasse. Benutzen Sie das ASCII-Zeichen ’#’, um ein
Balkensegment darzustellen.
- Es sollen nur Balken angezeigt werden, deren Wert größer als 0 ist, d. h.
Wortlängen, die im Text nicht vorkommen, werden auch nicht dargestellt. Vor dem Balken ist als Klassenbezeichnung die zugehörige Wortlänge auszugeben.
- Das Einlesen einer Zeichenkette (mit Leerzeichen) in eine Stringvariable text über die Tastatur ist möglich mit: getline(cin, text);
- Definieren Sie ein eindimensionales Feld b vom Typ integer mit 20 Elementen
und initialisieren Sie alle Elemente mit 0: int b[20]={0};
-Denken Sie daran, dass nach dem letzten Wort normalerweise kein Leerzeichen mehr steht, der letzte Buchstabe des letzten Wortes aber mitgezählt werden muss!
Testlauf (Eingaben unterstrichen):
Text = ? Dies ist ein Beispieltext
3 ##
4 #
12 #
Drücken Sie eine beliebige Taste . . .
Es wurden also 2 Wörter mit einer Länge von 3 Buchstaben, 1 Wort mit 4 und 1 Wort mit 12 Buchstaben gefunden.
Wie soll ich diesen aufgabe am besten anfangen , brauche hilfe :-( :eek