C/Visual C - URGENTE: COMPARACION DE CADENAS

 
Vista:

URGENTE: COMPARACION DE CADENAS

Publicado por HUGO ARRIAGA (1 intervención) el 15/05/2001 08:21:08
HACER U PROGRAMA EN LENGUAJE C (TURBO C ,O C SIMPLEMENTE), CON UNA FUNCION PARA ELIMINAR DE UNA CADENA TODOS LOS CARACTERRES COTENIDOS EN OTRA CADENA.

CONSIDERAR LA SIGUIENTE FUNCION

void CadEliminaCad(char*, char*)
LA FUNCION RECIBE EN EL APUNTADOR AL PRIMER CARACTER DE LAS CADENA, ELIMINA DE LA PRIMERA CADENA LOS CARACTERES REPETIDOS EN LA SEGUNDA Y REGRESA EL APUNTADOR A LA PRIMERA CADENA.

POR EJEMPLO SIL CADENA 1 ES "JUAN PEREZ" Y LA SEGUNDA ES "JUAN", AL APLICAR LA FUNCION, LA PRIMERA CADENA QUEDA "PEREZ".

TAMBIEN ESCRIBIR LA FUNCION MAIN QUE NOS PERMITA PROBAR LA FUNCION CadEliminaCad.

BUENO, ESE ES EL PROBLEMA ESPERO QUE ALGUIEN ME PUEDA AYUDAR /*Y SI PUEDEN PONER COMENTARIOS EN EL PROGRAMA QUE MEJOR*/........BUENO ESTE PROGRAMA ES PARA EL 15 A LAS 3:00 DE LA TARDE................GRACIAS!!!!!!!!
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

RE:URGENTE: COMPARACION DE CADENAS

Publicado por acampos (4 intervenciones) el 15/05/2001 13:06:28
Espero que te sea de utilidad, pero si quieres aprender, la proxima vez será mejor que lo programes tú ;-)

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

int CadEliminaCad(char * origen, char * elimina)
{
int n;
int i,j,k;
char * destino;

destino = (char *) malloc((int)strlen(origen)+1);
destino[0]=\'\\0\';
k=0;
n=0;
for (i=0;i<strlen(origen);i++)
{
for(j=0;j<strlen(elimina);j++)
{
if(origen[i]==elimina[j])
{
break;
}
}
if(j>=strlen(elimina))
{
destino[k]=origen[i];
k++;
}
else
{
n++;
}
}

destino[k]=\'\\0\';
strcpy(origen,destino);
free(destino);

return n;
}

int main(int argc, char* argv[])
{
char texto[100];
char quita[10];
int n = 0;

strcpy(texto,\"ESTA ES UNA CADENA DE PRUEBA\");
strcpy(quita,\"AEIOU\");
printf(\"texto ini : [%s]\\n\",texto);
n = CadEliminaCad(texto,quita);
printf(\"texto fin : [%s]\\n\\n\",texto);
printf(\"caracteres eliminados : %d\\n\",n);

return 0;
}
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