Estou tentando fazer um programa que mostre quantas vezes uma palavra aparece em outra. Para isso estou utilizando strings. Alguns casos chegam a dar certo com o codigo que eu criei, no entanto, quando digito:
-araraquara
-ara
O programa deveria exibir 3, já que 'ara' aparece' tres vezes em araraquara, mas ele esta exbindo 4 vezes. Seria possivel alguem me ajudar a consertar isso?? Agradeco desde ja.
A seguir esta meu codigo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char s1[100];
char s2[100];
int tam1,tam2,i,j,k,p,vezes;
k=0;
p=-1;
i=0;
gets(s1);
gets(s2);
tam1 = strlen(s1);
tam2 =strlen(s2);
while(i<tam1){
for(i=p+1;i<tam1;i++){
for(j=0;j<tam2;j++){
if(s1==s2[j]){
k++;
}
}
}
}
vezes=k/tam2;
if(k>=tam2){
printf("encaixa %d vez(es)",vezes);
}
else printf("nao encaixa");
return 0;
}