getwords Funktion?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    ich suche eine Funktion die die Wörter in einer Zeichenkette zählt.


    Beispiel:
    new string[56]="Das ist ein Beispieltext."; // 4 Wörter
    string="Das ist ein weiterer Text ."; // 6 Wörter
    string=" letzter Beispiel text"; // 3 Wörter


    Dankeschön :)

  • stock countWords(string[]) //©Jeffry
    {
    new count = 0, tmp = 0;
    for(new i = 0; i < strlen(string); i++)
    {
    if(string[i] != ' ' && tmp == 0)
    {
    count++;
    tmp = 1;
    }
    else if(string[i] == ' ' && tmp == 1) tmp = 0;
    }
    return count;
    }


    Zu benutzen:
    new string[100];
    string="Das ist ein Beispieltext."; //4 Wörter
    printf("%d Wörter", countWords(string));
    string="Das ist ein weiterer Text ."; //6 Wörter
    printf("%d Wörter", countWords(string));
    string=" letzter Beispiel text"; //3 Wörter
    printf("%d Wörter", countWords(string));

  • Wobei ich das eher so machen würde.


    Count(const input[])
    {
    new count,tmp=0;
    for(new i=0;i<strlen(input);i++){
    if((input[i] != ' ' || input[i] != '.' || input[i] != ',' || input[i] != '?' || input[i] != '!') && tmp==0){
    count++;
    tmp++;
    }
    if(tmp && (input[i] == ' ' || input[i] == '.' || input[i] == ',' || input[i] == '?' || input[i] == '!')) tmp--;
    }
    return count;
    }


    Für die Helden, die nach einen Punkt (.), Komma (,) oder was auch immer kein Leerzeichen lassen.
    countWords("Hallo Welt.Wie gehts?"); // Das wären sonst nun 3 Wörter