000
18.11.2017, 21:00 Uhr
noldarxy
|
Hallo zusammen,
ich bin neu hier und kämpfe seit einiger Zeit mit folgendem Problem:
Eine häufig anfallende Aufgabe in der Textverarbeitung ist das Suchen von Zeichenketten in einem Text. Im Rahmen dieser Aufgabe sollen Sie eine C-Funktion schreiben, die in einer vorgegebenen Zeichenkette die ersten n Vorkommen einer anderen Zeichen-kette ermittelt. Die gefundenen Stellen sollen in Form von Zeigern auf den jeweiligen Anfang der Teilzeichenkette zurückgegeben werden. Erstellen Sie dazu die C-Funktion int substrings ( char* str, char* substr, char** ptr, int n )str soll die Zeichenkette aufnehmen, in der die ersten n Vorkommen der Zeichenkette substr gesucht werden. Die Anzahl k der gefundenen Vorkommen (0 <= k <=n) wird als Funktionswert zurückgegeben. Die Zeigerptr[0], ptr[1], . . . , ptr[k−1] verweisen dann auf diese Vorkommen. Schreiben Sie dazu dann ein kleines Programm, um die Funktion zu testen.
Hier steht was ich gemacht habe
C++: |
#include <stdio.h> #include <stdlib.h> #include <string.h>
int substrings(char* str, char* substr, char* ptr[], int 10);
int main() { char* str="Rokokokommode";
char* substr="oko"; char* s; char* ptr[10]; int k=0;
s= substrings(str,substr); printf("%s",s); return 0; } int substrings(char* str, char* substr, char* ptr[], int 10) { char* s; char k++; while(s!=NULL) { for (k=0;k<10;k++) { ptr[k]=s;, k++; s=substrings(s+1,substr); }
}
return k; }
|
----- Edit: cpp-Tags eingefügt Dieser Post wurde am 18.11.2017 um 22:39 Uhr von Hans editiert. |