Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda

Estas en el tema de Ayuda en el foro de C/C++ en Foros del Web. Hola, estoy intentando hacer un programa que detecte si un array de caracteres es un palindromo o no, pero me encuentro un problema con la ...
  #1 (permalink)  
Antiguo 01/08/2008, 10:17
 
Fecha de Ingreso: julio-2008
Mensajes: 25
Antigüedad: 15 años, 9 meses
Puntos: 0
Ayuda

Hola, estoy intentando hacer un programa que detecte si un array de caracteres es un palindromo o no, pero me encuentro un problema con la funcion que me debe decirmelo.

bool Palindromo(char *palabra, int k)
{
bool j = true;
for(int i=0; i<k/2 && (j == false); i++)
{
if(palabra[i] =! palabra[(k-1) - i])
j = false;
}
if(j == true)
return true;
else
return false;
}

El codigo es este. El problema es que siempre me devuelve true y no se por que.
K es el numero de caracteres que he escrito en el array. ¿A alguien se le ocurre algo?
Un saludo
  #2 (permalink)  
Antiguo 01/08/2008, 14:27
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Ayuda

Los problemas están en:
"(j == false)" debería ser "(j == true)"
y
"if(palabra[i] =! palabra[(k-1) - i])" debería ser "if(palabra[i] != palabra[(k-1) - i])"

Código con las correcciones:
Código:
bool Palindromo(char *palabra, int k)
{
bool j = true;
for(int i=0; i<k/2 && (j == true); i++)
{
if(palabra[i] != palabra[(k-1) - i])
j = false;
}
if(j == true)
return true;
else
return false;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:50.