1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
/* 5x03-Cadena_capicua_con_recursividad 17/01/2012 Escribe un programa recursivo que determine si una cadena de caracteres leída por teclado es capicúa o no. */ #include <stdio.h> #include <string.h> int capicua( char cad[50], int ini, int fin ) { /* Precondición: Se ha de recibir un vector de caracteres de tamaño 50 terminada en fin de cadena. Y dos enteros Poscondición: Se devuelve true si el N carácter del principio es igual al N carácter del final. false en caso contrario. */ int respuesta = 1; if( ini <= fin ) { if( cad[ini] == cad[fin] ) return ( capicua(cad, ini+1, fin-1) ); else return 0; } else return respuesta; }; main() { char cadena[50]; printf( "Introduzca una cadena:\n " ); scanf( "%s", cadena ); if( capicua(cadena, 0, strlen(cadena)-1) ) printf( "\n Es capicua\n" ); else printf( "\n No es capicua\n" ); }; |