• Domingo 15 de Diciembre de 2024, 21:35

Autor Tema:  funcion strstr  (Leído 3100 veces)

k4nnon

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
funcion strstr
« en: Jueves 24 de Abril de 2014, 18:45 »
0
hola soy nuevo por el foro y queria consultar unas dudas que tengo con mi programa.

el programa debe buscar una frase dentro de un string, donde la frase esta compuesto por 2 palabras "heavy metal" . y este debe contar la cantidad de veces que se encuentra o se forma dicha frase.

un ejemplo
heavymetalisheavymetal

la salida es 4 ya que se puede generar 4 veces la frase heavy metal

hasta el momento tengo esto

Código: [Seleccionar]

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main(){
    char a[1000],b[20]="heavyHEAVY",c[20]="metalMETAL";
    int i,j,suma=0;
        gets(a);
        for(i=0;i<strlen(a);i++)
        {
            if(strstr(a,b)!=NULL)
            {
                for(j=i;j<strlen(a);j++)
                if(strstr(a,c)!=NULL)
                {
                    suma++;
                }
                else
                {
                    break;
                }
            }
        }
        printf("\n%d",suma);
    return 0;
}

pero el programa siempre me arroja 0. plz si alguien me puede guiar.

saludos

chenech

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re:funcion strstr
« Respuesta #1 en: Jueves 24 de Abril de 2014, 19:52 »
0
Estas seguro que es asi heavylismetal?
Ten en cuenta que tendrías que buscar h he hea heav heavy heavyl heavyls ... no se cuantas veces mas
luego empezando por el segundo carácter e ea eah eaha ehavy ...
y asi repitiendo tantas veces como caracteres hay en la frase, no te daría 4, sino cientos o miles dependiendo de la frase y palabras.