mira lo que me piden es esto
por ejemplo el usuario ingresa"hola mundo"
ingresa una palabra a buscar"hola" y una a reemplazar "nada"
al final el programa debe mostrar "nada mundo"
pero que pasa con lo que yo eh realizado solo sirve si la palabra a reemplazar es de menor o igual tamaño a la palabra a buscar ejemplo"hola" para buscar y "nadas" para reemplazar me muestra "nada mundo"
este es el codigo
#include <iostream>
#include <string.h>
using namespace std;
int reempla(char *frase,char *palabra,char *elim,char *frase1){
int cont1=0;
int ind = 0;
int letra = 0;
int z=0;
int j=0;
for(int x=0; x<strlen(frase); x++){
if(frase[x] == '\0'){ // si esto se cumple llego al final de la oracion
break;
}
if(frase[x] == palabra[0]){
[color=red][/color]
ind = 0;
letra = 0;
for( j = x; j<x+strlen(palabra); j++){
if(frase[j] == palabra[ind]){
frase1[j]=32;
frase1[j]=elim[z];
z++;
letra++;
ind++;
}
}
if (letra == strlen(palabra)) {
cont1++;
}
}
}
return cont1;
}
int main() {
int gran=0;
char frase[500];
char frase1[500];
char palabra[50];
char elim[50];
cout<<"Ingrese la cadena de caracter: "<<endl;
fflush(stdin);
gets(frase);
for(int z=0;frase[z]!='\0';z++){
frase1[z]=frase[z];
}
cout<<"Ingrese palabra a buscar: "<<endl;
fflush(stdin);
gets(palabra);
cout<<"Ingrese palabra a reemplazar: "<<endl;
fflush(stdin);gets(elim);
reempla(frase,palabra,elim,frase1);
cout<<frase<<endl<<palabra<<endl<<elim<<endl<<frase1<<endl;
return 0;
}
· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex