Zusammenfassung – Wortfrequenz
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 29 von 56.
Aufgabe
EinfachErstellen Sie ein Programm, das die Wortfrequenzen in einer Textpassage mithilfe einer std::map zählt. Ihr Programm soll verfolgen, wie oft jedes eindeutige Wort vorkommt, und dann die Häufigkeit eines bestimmten Wortes ausgeben.
Die folgenden Eingaben werden bereitgestellt:
- Ein Integer
n, der die Anzahl der Wörter im Text darstellt - Anschließend
nStrings, welche die Wörter im Text darstellen - Ein String, der das Zielwort darstellt, dessen Häufigkeit überprüft werden soll
Ihr Programm sollte:
- Eine
std::map<std::string, int>namenswordCounterstellen - Die Anzahl der Wörter einlesen
- Für jedes Wort dieses einlesen und seinen Zähler in der Map mithilfe des eckigen Klammer-Operators und Inkrementierung aktualisieren
- Das zu prüfende Zielwort einlesen
- Die Häufigkeit des Zielworts im unten gezeigten Format ausgeben
Verwenden Sie das folgende exakte Ausgabeformat:
The word "[target_word]" appears [frequency] timesWenn das Zielwort nicht in der Map existiert, wird durch den Zugriff mit dem eckigen Klammer-Operator automatisch ein Eintrag mit dem Wert 0 erstellt, sodass Sie die Häufigkeit sicher ausgeben können, ohne vorher zu prüfen, ob das Wort existiert. Verwenden Sie wordCount[word]++, um den Zähler für jedes Wort beim Einlesen zu erhöhen – dies erstellt neue Einträge mit dem Wert 1 für neue Wörter oder erhöht bestehende Zähler für bereits gesehene Wörter.
Probier es selbst
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Anzahl der Wörter einlesen
int n;
cin >> n;
// Map erstellen, um die Wortfrequenzen zu speichern
map<string, int> wordCount;
// TODO: Schreiben Sie Ihren Code hier
// Lesen Sie n Wörter ein und aktualisieren Sie deren Häufigkeit in der Map
// Lesen Sie dann das Zielwort ein und geben Sie dessen Häufigkeit aus
return 0;
}Alle Lektionen in Logik & Ablauf
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung4Maps (Schlüssel-Wert-Paare)
Einführung in std::mapErstellen einer MapWerte abrufen und ändernAuf Schlüssel prüfenPaare entfernenÜber eine Map iterierenZusammenfassung – Wortfrequenz2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügen