Özet - Kelime Frekansı
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 29 / 56.
Görev
KolayBir std::map kullanarak bir metin pasajındaki kelime frekanslarını sayan bir program oluşturun. Programınız her bir benzersiz kelimenin kaç kez göründüğünü takip edecek ve ardından belirli bir kelimenin frekansını raporlayacaktır.
Aşağıdaki girdiler sağlanacaktır:
- Metindeki kelime sayısını temsil eden bir tam sayı
n - Ardından metindeki kelimeleri temsil eden
nadet dize (string) - Frekansını kontrol etmek için hedef kelimeyi temsil eden bir dize
Programınız şunları yapmalıdır:
wordCountadında birstd::map<std::string, int>oluşturun- Kelime sayısını okuyun
- Her kelime için, kelimeyi okuyun ve köşeli parantez operatörünü ve artırma (increment) işlemini kullanarak map'teki sayısını güncelleyin
- Kontrol edilecek hedef kelimeyi okuyun
- Aşağıda gösterilen formatı kullanarak hedef kelimenin frekansını yazdırın
Aşağıdaki tam çıktı formatını kullanın:
The word "[target_word]" appears [frequency] timesEğer hedef kelime map'te mevcut değilse, ona köşeli parantez operatörü ile erişmek otomatik olarak 0 sayısına sahip bir girdi oluşturacaktır, bu nedenle kelimenin var olup olmadığını önceden kontrol etmeden frekansı güvenle yazdırabilirsiniz. Her kelimeyi okurken sayısını artırmak için wordCount[word]++ kullanın - bu, yeni kelimeler için 1 sayısıyla yeni girdiler oluşturacak veya zaten görülmüş kelimeler için mevcut sayıları artıracaktır.
Kendin dene
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Kelime sayısını oku
int n;
cin >> n;
// Kelime frekanslarını saklamak için map oluştur
map<string, int> wordCount;
// TODO: Kodunuzu buraya yazın
// n adet kelimeyi oku ve map içindeki sayılarını güncelle
// Ardından hedef kelimeyi oku ve frekansını yazdır
return 0;
}Mantık & Akış bölümündeki tüm dersler
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği4Map'ler (Anahtar-Değer Çiftleri)
std::map'e GirişBir Map OluşturmaDeğerlere Erişme ve DeğiştirmeAnahtar KontrolüÇiftleri KaldırmaMap Üzerinde YinelemeÖzet - Kelime Frekansı2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev Ekleme