Räkna ut hur många ord det finns i texten?

Permalänk
Medlem

Räkna ut hur många ord det finns i texten?

Hej Sweclockers....

Jag läser Programmering B, så jag kan inte så mycket.
Hur som helst, jag tänkte ta en text (i detta fall ett stycke ur bibeln), och räkna ut hur många gånger det står "Gud" i stycket.
Någon som vet hur jag ska gå till väga?

//Adam

Permalänk
Medlem

Här får du lite hjälp på traven utan att du får ett facit.

Jag antar att du har hela texten i en lång sträng. kör string.split baserat på mellanslag eller char.indexof eller motsvarande metod för att dela upp texten ord för ord.

Sen är det bara att kolla om det ordet är lika med gud, t.ex. if(string s == "Gud") godCounter++

För extra poäng ser du också till att först sätta ditt ord till lowercase så du kan jämföra mot "gud" oavsett om det i texten står "gud", "Gud" eller "GUD" osv.

Permalänk
Medlem

Om du splittar upp hela texten vid alla mellanslag, så du får alla ord i en array. Så kan du stega igenom den och ha en räknare som ökar varje gång det är rätt ord.

Permalänk
Medlem

Fast använder han String kan han lika gärna använda en färdig funktion.

http://www.cplusplus.com/reference/string/string/find/

Men är det en nollterminerad array av char får han loopa igenom den och accessa elementsvis med lämpliga start- och slutvärden. Om det är ordet gud han är ute efter så är det egentligen space-gud-skiljetecken han vill ha. Dvs, det räcker att först kolla för space och sedan om k+1 är G etc. Fördelen där är också att det går åt mindre minne.

Visa signatur

Propaganda syftar till att göra det politiska opolitiskt.

Permalänk
Medlem

Eller regexp. Men det kanske är överkurs. Vet inte vad Programmering "A" osv innefattar men det kan ju knappast vara mycket om man inte ens kan räkna ord.

Permalänk

Vilket språk är detta i?

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem
Skrivet av KurreKula:

Vilket språk är detta i?

Att ingen frågat detta tidigare

Om det är C++ så finns de lite olika sätt att göra de, men frågan är om du ska vara effektiv, minnesnål och snabb eller om du kan ta den snabba vägen och använda strtok för char: " .,-" .

Visa signatur

Wow. PIII och Voodoo. Back to old days

Permalänk
Skrivet av Nima_P:

Att ingen frågat detta tidigare

Om det är C++ så finns de lite olika sätt att göra de, men frågan är om du ska vara effektiv, minnesnål och snabb eller om du kan ta den snabba vägen och använda strtok för char: " .,-" .

Jag började läsa igenom tråden tyckte precis som du att det var mystiskt att det inte frågats tidigare. Känns som det första man behöver veta för att ge ett bra svar

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase