Wörter suchen und zählen in der Programmiersprache C

Hallo, Wir müssen als Aufgabe ein Programm in der Programmiersprache C schreiben, dass von einem Textdokument mit beliebigen Inhalt ein Bestimmtes Wort oder einen Bestimmten Buchstaben in einem Wort sucht und zählt wie viele gleiche Wörter bzw gleiche Buchstabenfolge hintereinander in diesem Textdokument sind. Ich habe da schon einen Anfang gemacht, der allerdings nur ein Wort in einer Zeile zählt und dann einfach in die nächste geht:

include <stdio.h>

include <conio.h>

include <string.h>

include <stdlib.h>

include <time.h>

char *self_strstr(char *text,char *suche);

int main(int argc, char **argv) { //Variablen FILE *fp; char zeile[100], worte[100]; int n=0, i=0;

//Startet die Ticks
clock();


//Programmablauf
fp = fopen(argv[1], "rt");
while(fgets(zeile, sizeof(zeile), fp) != NULL)
    if (self_strstr(zeile, argv[2]) != NULL)
        n++;
fclose(fp);

//Ausgabe
printf("Anzahl des gesuchten Wortes: %d\n", n);
printf("Ticks: %d", clock());
return 0;

}

char *self_strstr(char *text, char *suche) { int i=0; int j=0; int suche_size; suche_size = strlen(suche); while(text[i] != '\0' && suche_size != 0) { if(text[i]==suche[j]) { suche_size--; j++; } else { suche_size = strlen(suche); j = 0; i=i-j; // hüpfe zum zu letzt Verglichenen Feld von String text } i++; } if (suche_size == 0) return i; else return NULL; }

ich hoffe ihr könnt mir bei helfen es weiterzuschreiben.

Programm, Programmieren, Java, CPP, PHP, Python
3 Antworten
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.