Dev - C++ - Buscar palabra en un strin

 
Vista:
sin imagen de perfil

Buscar palabra en un strin

Publicado por Sebastian Adolfo (11 intervenciones) el 22/04/2017 19:05:24
Hola, soy algo nuevo en esto de programar y me mandaron a hacer un codigo que buscara una palabra en una cadena, hice algo pero al escribir una palabra como "tu y tum" y la palabra a buscar sea tu me marca 2 coincidencias... si alguien me ayuda seria grandioso ... abajo el codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "iostream"
#include "string.h"
using namespace std;
 
int busca(char *frase,char *palabra){
	int cont=0,cont1=0;
	for(int x=0;x<strlen(frase) && frase[x]!='\0';x++){
		int i;
		help:
		for( i=0; i<strlen(frase); i++){
	        if(frase[x]==palabra[i]){
				cont++;
        	}
    	}
    	if((int(frase[x])==32)) // condicional de espacios en blancos
		{
			x++;
			goto help;
		}
    	if(cont==strlen(palabra)){
    		cont1++;
    		cont=0;
    		i=0;
		}
	}
	return cont1;;
}
 
int main(){
	int gran=0;
	char frase[50];
	char palabra[50];
	cout<<"Ingrese la cadena de caracter: "<<endl;
	fflush(stdin);gets(frase);
	cout<<"Ingrese palabra a buscar: "<<endl;
	fflush(stdin);gets(palabra);
 
	gran=busca(frase,palabra);
	cout<<gran;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Buscar palabra en un strin

Publicado por agustin (522 intervenciones) el 22/04/2017 22:45:15
A ver, si dentro de la frase "tu y tum" buscas "tu" es totalmente normal que te la encuentre dos veces.
Por otro lado no uses goto, puedes sustituir eso por un do {...}while(frase[x]==' ');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Buscar palabra en un strin

Publicado por Sebastian Adolfo (11 intervenciones) el 22/04/2017 22:48:35
otro ejemplo es con tu y tomate, me muestra que tu esta dos veces y hasta 3 si termino con un espacio en blanco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar