Buenas quisiera codigo para C. de una funcion recursiva que compare si la frase ingresada es igual a su inversa. O sea si es palindromo :D. Muchas gracias ^_^... Espero que alguien lo saque rapido.. Con funciones y numeros son buena, pero esto de letras me marea xD... Gracias y besos!
Copyright © 2024 Q2A.MX - All rights reserved.
Answers & Comments
Verified answer
/*
Hola, para hacer tu programa tienes que hacer una función que reciba como parámetros un arreglo de caracteres que seria la cadena a comprobar, y dos enteros, uno para llevar el índice del inicio y fin del arreglo de caracteres. Como en C no hay tipos de datos booleanos, uso como valor de retorno un entero, 1 indica verdadero (si la palabra es palíndroma) y 0 indica falso (si no lo es).
*/
//Tu código en C
#include <stdio.h>
#include <string.h>
int Palin(char c[], int ini, int fin)
{
if(ini >= fin)
return 1;
if(c[ini] == c[fin])
return Palin(c, ++ini, --fin);
return 0;
}
int main()
{
char cadena[32];
printf("Ingrese una cadena: ");
gets(cadena);
if(Palin(cadena, 0, strlen(cadena) - 1))
printf("Es palindroma.\n");
else
printf("No es palindroma.\n");
getchar(); //pausa
return 0;
}
//Espero te sirva de algo y si tienes una duda me avisas, saludos.