Siento molestarlos, estuve teniendo un problema con un ejercicio. El mismo cita "Crear una funcion que elimine los caracteres de un arreglo s1, que coincidan con cualquier caracter de un arreglo s2".
El programa funciona parcialmente, o en otras palabras, no funciona correctamente. Borra todos los caracteres si coloco cadenas iguales (por ejemplo: AAAA, AAAA), pero si pongo cadenas con caracteres diferentes, a excepcion de uno (por ejemplo, Hola, Chau, repitiendo la letra "a"), no sucede nada.
Dejo aqui el codigo.
Código:
Personalmente, creo que la variable "m", no avanza, pero no he podido demostrar esa idea o darme cuenta de que sucede. void squeezeb(char s[], char t[]); int main() { char string1[100]; char string2[100]; int a, b; a = b = 0; fgets(string1, 100, stdin); fgets(string2, 100, stdin); squeezeb(string1, string2); getchar(); return 0; } void squeezeb(char s[], char t[]) { int n, m; for(m = 0; t[n] != '\n'; m++) { for(n = 0; s[n] != '\n'; n++) { if(s[n] == t[m]) { s[n] = '0'; } } } printf("String 1\n"); puts(s); printf("String 2 \n"); puts(t); }
Gracias de antemano por cualquier ayuda, realmente llevo dias con esto...