buscador de palabras con un error

Iniciado por creiko, 10 Septiembre 2016, 22:45 PM

0 Miembros y 1 Visitante están viendo este tema.

creiko

Hola alguien me ayude en esta parte que tengo un error
no esta dando correctamente el resultado
ejemplo
ingreso esta frase
ella durmio al calor de las masas y se durmieron todos
y deseo buscar la palabra durmio y deberia mostrarme durmio ha sido encontrado 1 vez
pero me lo indica que esta dos veces
si alguien me ayuda lo agradecería


Código (cpp) [Seleccionar]


#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "windows.h"
#include "iostream"
#include "time.h"
using namespace std;
int contar(char texto[150], char buscar[150])
{
char *puntero;
int contador = 0;
puntero = strstr (texto, buscar);
while (puntero != NULL)
{
contador=contador+1;
puntero = strstr (puntero+strlen(buscar),buscar);
}
return contador;
}
int main()
{
char texto[150];
char palabra[150];
int contadorpalabra = 0;
cout<<"Suministre el texto de entrada:"<<endl;
gets(texto);
cout<<"Suministre la palabra a buscar:"<<endl;
gets(palabra);
contadorpalabra = contar(texto,palabra);
cout<<"\nLa palabra \""<<palabra<<"\" fue encontrada "<<contadorpalabra<<" veces"<<endl;
}

ivancea96

Funciona correctamente. ¿Habrás puesto "durmi" en vez de "durmio"? Entonce ssí que encontraría 2.

Y como detalle, identa el código. Tal como está, estácerca de ser ilegible.

Código (cpp) [Seleccionar]
#include <cstring>
#include <iostream>

using namespace std;


int contar(char texto[150], char buscar[150])
{
char *puntero;
int contador = 0;
puntero = strstr (texto, buscar);
while (puntero != NULL)
{
contador=contador+1;
puntero = strstr (puntero+strlen(buscar),buscar);
}
return contador;
}

int main()
{
char texto[150];
char palabra[150];
int contadorpalabra = 0;

cout<<"Suministre el texto de entrada:"<<endl;
gets(texto);
cout<<"Suministre la palabra a buscar:"<<endl;
gets(palabra);

contadorpalabra = contar(texto,palabra);
cout<<"\nLa palabra \""<<palabra<<"\" fue encontrada "<<contadorpalabra<<" veces"<<endl;
}


Y bueno. Las librerías se ponen con "<lib>". Con comillas solo se deberían poner tus includes (archivos que tengas en el proyecto o en alguna ruta en tu pc, vamos)

Las librerías de C++ son como las de C, peroquitando el ".h" y agregando una 'c' al principio. (stdio.h -> cstdio; string.h -> cstring) (A excepción de algunas como windows.h y conio.h)