Foros del Web » Programando para Internet » Javascript »

strings

Estas en el tema de strings en el foro de Javascript en Foros del Web. hola hice este código en java script y debe pedir al usuario una palabra después verificar si es palindromo(palindromo es una palabra que se dice ...
  #1 (permalink)  
Antiguo 19/04/2011, 21:49
 
Fecha de Ingreso: abril-2011
Mensajes: 76
Antigüedad: 13 años, 7 meses
Puntos: 1
strings

hola hice este código en java script y debe pedir al usuario una palabra después verificar si es palindromo(palindromo es una palabra que se dice igual al derecho y al revés) o no e indicarselo al usuario pero su error esque marca muchas veses que es palindromo o no es palindromo como puedo corregirlo?
<html>
<body>
<script language="javascript">
var x=0;
var frase=prompt("escribe algo", "");
var i=frase.length;
for (x=0;x<=frase.length;x++)
{
i=i-1;
if (frase[x]==frase[i]){document.write("es palindromo");}
else if(frase[x]!=frase[i]){alert("no es palindromo");}
}
</script>
</body>
</html>
  #2 (permalink)  
Antiguo 19/04/2011, 22:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: strings

buenas,
por supuesto te va a indicar varias veces el mismo mensaje porque lo tienes dentro del ciclo. la mejor forma de verificar si una palabra es palindromo es invirtiendo el orden de los caracteres del string. para ello, solo basta con dividir la cadena creando un array con split, luego invocas reverse, y nuevamente lo unes con join. este resultado lo comparas con el string original. si la comparacion devuelve true es que son palindromos.

@edit,
me he fijado que hay diferentes tipos de palindromos. la solucion que indicaba es para el tipo de palindromos por caracter.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 19/04/2011 a las 22:46

Etiquetas: strings
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 08:57.