002
27.10.2003, 19:52 Uhr
~DIO
Gast
|
Hallo ich wollte vorher schon posten mit ein paar Tips, aber die Sache hat mir keine Ruhe gelassen. Jetzt hab ich n Proggi geschrieben um Strings in anderen zu finden. Es sind wahrscheinlich noch ein paar Teile redundant aber ich habe leicht den Überblick verloren. Auf jeden fall funktioniert das.
C++: |
#include <stdio.h> #include <string.h> #define N 256 void main(void) { char *anpos, zeile[N], suchenach[10]; int stelle=0, length, zeichen, pos1=0, pos2=0, erfolg=0, durchlauf=0; gets(zeile); gets(suchenach); length = strlen(suchenach); while ((pos1 < ((int)strlen(zeile)))&&(stelle<=length-1)) { printf("stelle %c\n", suchenach[stelle]); anpos = strchr(zeile+pos1, suchenach[stelle]); pos2 = anpos - zeile + 1; printf("pos2 - pos1 : %d\n", pos2-pos1); if (((pos2-pos1)!=1)&&(durchlauf)) { printf("pos1: %d, pos2: %d\n", pos1, pos2); pos2 = pos1+1; stelle = -1; } if ((stelle == length-1)&&((pos2-pos1)==1)) erfolg = 1;
stelle++; durchlauf = 1; pos1 = pos2; }
if (erfolg) printf("%s beginnt an Position %d\n", suchenach, pos2-length+1); }
|
MFG DIO |