Slave! Mi sto scervellando per risolvere quetso problema.
Sevo leggere due stringhe S e T e devo determinare il numero di volte e le posizioni in cui S è contenuta in t.
Qualcuno mi sa dire come cavovolo si fa?
L'algoritmo?
IL LINGUAGGIO è IL C!
Slave! Mi sto scervellando per risolvere quetso problema.
Sevo leggere due stringhe S e T e devo determinare il numero di volte e le posizioni in cui S è contenuta in t.
Qualcuno mi sa dire come cavovolo si fa?
L'algoritmo?
IL LINGUAGGIO è IL C!
Non è poi cosi' difficile
codice:#include <string.h> #include <stdio.h> int main() { char * t = "Devi rapare i rapanelli prima che il sole tramontera' sopra la crapa\n"; char * s = "ra"; int nocc=0; char * p = t; while(p = strstr(p,s), p!= NULL) { ++nocc; printf("Occorrenza all'offset %d\n",p-t); ++p; } printf("Trovate %d occorrenze",nocc); return 0; }
Grazie per la risposta.
Solo che io lo dovrei fare senza funzioni di libreria, oppure le devo fare io delle funzioni.
Ok, ma se l'esercizio lo faccio io che lo so già fare non è molto utile, non trovi???
usa questa al posto della libreria strstr.codice:char * mystrstr(char*str, char* set) { char * set_base = set; char * str_base = str; if(str==NULL || set == NULL || *str == '\0' | *set=='\0') return NULL; while(*str_base!='\0' && *set_base != '\0') { if(*str_base == *set_base) { ++set_base; ++str_base; } else { set_base = set; str_base = ++str; } } return *set_base=='\0' ? str : NULL; }
Si questo è vero e sono d'accordo con te.
Ma prorio non riuscivo a trovare una sol.