• Hallo!

    Bin Anfänger in der C-Programmierung und bräuchte da ein wenig Hilfe. Habe mir ein Programm geschrieben, mit dem ich zeichenweise aus einer Textdatei einlesen kann. Anschließend prüfe ich, wieviele Wörter da drinnen sind.

    Jetzt sollte ich es nur noch zusammenbringe, dass ich mir die mittlere Wortlänge ausrechne bzw. die absolute und relative Häufigkeit jedes Buchstabens ermittle. Klinge ja nicht so schwer, aber ich schaffe es nicht. Problem ist wohl, dass ich mir die Wörter nur durch True or False ermittelt habe.

    Wie kann ich von, wenn ich mittels fgetc gelesen habe, mir das ganze in eine String reinholen? Dann wären Prüfabfragen wohl einfacher...

    Vielleicht kann mir wer helfen...

    Pendragon

  • für die wortlänge brauchst ja nur einen counter mitlaufen lassen, der immer resettet wird, wenn ein nicht-buchstabe kommt (und den alten wert irgendwo zwischenspeichert). für die buchstabenhäufigkeit reicht ein feld, in dems für jeden buchstaben einen eintrag gibt (also 255 Zeichen groß für ASCII), und dann dieser wert um eins erhöht wird, wenn der buchstabe auftritt:

    Code
    unsigned auftretzahl[255];
    
    
    while(...) {
    char c=fgetc(stdin);
    auftretzahl[c]++;
    }

    (auf 0 initialisieren nicht vergessen!)

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • was hal geschrieben hat ist natürlich die einfachste methode....
    wenn du aber wirklich den inhalt des files speichern willst:

    so funzt das gut...du kannst dann auf jedes zeichen ganz einfach wie in einem arry (feld) zugreifen -> fbuffer[0] = 1. Zeichen, fbuffer[1] = 2.Zeichen, .... das Feld wir mit '\0' beendet

    -> am ende speicher freigeben nicht vergessen!!!
    -> die methode um die dateigröße zu ermitteln ist "etwas" gammlig, aber sie funktioniert gut und ich war immer zu faul um die funktion zu verwenden...;)

    mfg marX

  • ...hab ja gesagt, dass das nicht schön ist, aber faulheit ist das schlimmste übel ;) (langsam ist's normalerweise aber nicht ;))

    na ja....gibt ja auch eine routine um die dateigröße abzufragen.....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!