Codigo Cadenas en C


Codigo Cadenas en C



Ejemplo de un Código Simple en C que pide al usuario un valor máximo de 3 cadenas de caracteres , pide las cadenas y posteriormente:

1)Comprueba si la cadena 2 es una subcadena de la primera.
2)Concatena las cadenas 1 y 2.
3)Devuelve la posición de la cadena 2 en la 1.
4)Remplaza la cadena 2 por la 3 en la cadena 1

CODIGO:



#include
#include
#include
#include

void buscarcadena(char *,char *);
void concatenar(char *,char *);
void buscarcad2(char *,char *);
void reemplazar(char *,char *,char *);

int main(){
system("clear");
int m,d;
char* cad1;
char* cad2;
char* cad3;
printf("ingrese la longitud maxima de las cadenas a utilizar : \n");
scanf("%d",&m);
cad1=(char *)malloc(m * sizeof(char));
cad2=(char *)malloc(m * sizeof(char));
cad3=(char *)malloc(m * sizeof(char));
printf("Ingrese cadena de caracteres No.1: \n");
fflush(stdin);
gets(cad1);
gets(cad1);
printf("Ingrese cadena de caracteres No.2: \n");
fflush(stdin);
gets(cad2);
printf("Ingrese cadena de caracteres No.3: \n");
fflush(stdin);
gets(cad3);
printf("Cadena 1: %s \n",cad1);
printf("Cadena 2: %s \n",cad2);
printf("Cadena 3: %s \n",cad3);
buscarcadena(cad1,cad2);
concatenar(cad1,cad2);
buscarcad2(cad1,cad2);
reemplazar(cad1,cad2,cad3);
}
void buscarcadena(char *cad1,char *cad2){
int cant=0,red=0,i,pos,pa;
red=strstr(cad1,cad2);
if(red !=NULL){
cant=1;}else{
cant=0;}
printf("la subcadena aparece %d veces \n",cant);
printf("------------------------------------------------------\n");
}
void concatenar(char *cad1,char *cad2){
strcat(cad1,cad2);
printf("Cadena Concatenada: %s \n",cad1);
printf("------------------------------------------------------\n");
}
void buscarcad2(char *cad1,char *cad2){
int posicion;
posicion=strstr(cad1,cad2);
printf("La posicion de %s , en %s es %d \n",cad2,cad1,posicion);
printf("------------------------------------------------------\n");
}
void reemplazar(char *cad1,char *cad2,char *cad3){
int tam,p1;
tam=strlen(cad3);
p1=strstr(cad1,cad2);
while ( p1 != NULL)
{
strncpy(p1,cad3,tam);
p1=strstr(p1,cad2);
}
printf("Cadena nueva: %s \n",cad1);
printf("------------------------------------------------------\n");
}
}

Share on Google Plus
    Blogger Comment

0 comentarios:

Publicar un comentario