[C]Ilość podciągów w ciągu


(Drobok) #1
#include

(etam) #2
  1. strstr nie zaczyna od początku

  2. Najpierw sprawdź, czy strstr zwrócił null a potem inkrementuj h.

  3. Algorytm Knutha-Morrisa-Pratta


([alex]) #3

Masz wielkie szczęście że zadziałało aż się prosisz o access violation, wywal ampersandy.

int liczba(char *napis1,char *napis2)

  {

   int h,r;

   r=strlen(napis2);

   for(h=0;(napis1=strstr(napis1,napis2))!=NULL;++h) napis1+=r;

   return h;

  }

(Drobok) #4

Dzięki, liczyłem też gdy był null więc nie pykło tak jak by się chciało. Nie wiem czemu tak cisłem tego do while. Dzięki :slight_smile: