// // main.c // T3_Ej8 // // Created by Mari Paz Guerrero Lebrero on 22/1/15. // Copyright (c) 2015 Mari Paz Guerrero Lebrero. All rights reserved. // #include #include #include char* InicializarCadena(); int Subcadena(char *s1, char *s2); int main() { char *s1, *s2; s1 = InicializarCadena(); s2 = InicializarCadena(); if(Subcadena(s1, s2) == 1) printf("La segunda cadena esta contenida en la primera\n"); else printf("La segunda cadena NO esta contenida en la primera\n"); return 0; } char* InicializarCadena() { int i = 0; char c, *s; s = (char*)malloc(sizeof(char)); printf("Introduzca una cadena de caracteres: "); while((c = getchar()) != '\n') { s[i] = c; i++; s = (char*)realloc(s, (i + 1)*sizeof(char)); } s[i] = '\0'; return s; } int Subcadena(char *s1, char *s2) { int subcadena = 0, l1, l2, i = 0, j, k; char *aux; l1 = strlen(s1); l2 = strlen(s2); aux = (char*)malloc(l2*sizeof(char)); if(l2 <= l1) { while(i <= (l1-l2) && subcadena == 0) { k = 0; for(j = i; j < i+l2; j++) { aux[k] = s1[j]; k++; } aux[k] = '\0'; if(strcmp(aux, s2) == 0) subcadena = 1; i++; } } return subcadena; }