[ Foro de C++ ]

(C++) Palíndromo - Soy nueva y no se muy bien que estoy haciendo mal en este programa

24-Jan-2021 17:13
Invitado (.....)
1 Respuestas

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.


25-Jan-2021 12:55
Nacho Cabanes (+76)

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.)