[ Foro de C++ ]
Tengo que hacer un programa el cual pida una frase que sea palíndroma, y usando booleano, saber si de verdad lo es o no, esto es lo que había hecho, que me sale error:
#include <iostream>;
#include <string.h>;
using namespace std;
int main(){
cout<<"Dime una frase que sea un palíndromo: ";
bool palabra(char palindromo[40]) { //Aquí me sale error en el paréntesis último
int x = strlen(palindromo);
for (int h = 0; h < x; h++) {
cin<<palindromo[h];
if (palabra[h] != palindromo[x-h-1]) {
return false;
}
}
return true;
}
system("PAUSE");
}
Espero que me podáis ayudar, pero gracias de todas formas, y que tengáis un buen día.
Sobra el 40 en la llamada a la función. Pero además tu fuente todavía está bastante descolocado. Por ejemplo, no puedes mirar la longitud antes de pedir el texto al usuario. Además, no necesitas leer repetidas veces, sólo 1. Y estás comparando "palabra" (que es la función) con "palindromo" (que es tu texto). Y no sé por qué tu función que comprueba palíndromos se llama "palabra", debería ser al revés.
Tienes muchos fallos de base. ¿Por qué no miras este tutorial, sin prisas?
http://www.aprendeaprogramar.com/cursos/ver.php?id=16
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)