elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  ayuda con javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con javascript  (Leído 1,688 veces)
amok

Desconectado Desconectado

Mensajes: 4


Ver Perfil
ayuda con javascript
« en: 27 Marzo 2017, 21:45 pm »

Hola compañeros.

Estoy intentando hacer un ejercicio de javascript, el cual comprueba si los valores introducidos por teclado son los mismos que se crean aletoriamente. Pero no se, una vez introducidos los números entra en bucle infinito.

Me podeis ayudar?

Código:
<script type="text/javascript">

var a=new Array (10);
var i=0;
var existe=0;
var x;


for (var i=0; i<a.length; i++){
x=Math.round((Math.random()*9)+1);
a[i]=x
document.write (a[i]+ " ");
}

document.write ("<br>");

for (var i=0; i<a.length; i++){
a[i]=parseInt(prompt("Introduzca numero",' '));
document.write (a[i]+ " ");
}

while (i<a.length || existe==0){
if (x==a[i])
{
existe=1;
auxp=i;
}
else {i++;}
}

if (existe==1)
{
document.write (" <br> El n&uacute;mero " +x+ " est&aacute; en el array " + " En la posición " + i);
}
else
{
document.write (" <br> El n&uacute;mero " +x+ " no est&aacute; en el array ");
}


</script>


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con javascript
« Respuesta #1 en: 27 Marzo 2017, 22:14 pm »

Código
  1. while (i<a.length || existe==0){
  2.   if (x==a[i])
  3.    {
  4.    existe=1; // existe se torna 1 loop se repite
  5.    auxp=i;
  6.    }
  7.   else {i++;} //existe nunca se torna 0, loop nunca termina
  8.  }


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
amok

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: ayuda con javascript
« Respuesta #2 en: 27 Marzo 2017, 23:04 pm »

Código
  1. while (i<a.length || existe==0){
  2.   if (x==a[i])
  3.    {
  4.    existe=1; // existe se torna 1 loop se repite
  5.    auxp=i;
  6.    }
  7.   else {i++;} //existe nunca se torna 0, loop nunca termina
  8.  }

He cambiado

Código:
while (i<a.length && existe==0){

pero ahora siempre dice que el numero no está en el array
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con javascript
« Respuesta #3 en: 28 Marzo 2017, 00:56 am »

te recomiendo usar el debugger del navegador, no es para nada complicado, seguro puedes conseguir un tutorial de como usar tu debugger (y si no sabes que es un debugger recomiendo primero leer una explicación de que son y como funcionan)

Código
  1. for (var i=0; i<a.length; i++){//i inicia en 0
  2.  a[i]=parseInt(prompt("Introduzca numero",' '));
  3.  document.write (a[i]+ " ");
  4.  }
  5. //actualmente i es igual a a.length porque fue la condicion de romper el for
  6.  
  7.  while (i<a.length && existe==0){ //i es igual a a.length, y como no ambas partes se cumplen se salta
  8.   if (x==a[i])
  9.    {
  10.    existe=1;
  11.    auxp=i;
  12.    }
  13.   else {i++;}
  14.  }
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
amok

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: ayuda con javascript
« Respuesta #4 en: 28 Marzo 2017, 18:03 pm »

te recomiendo usar el debugger del navegador, no es para nada complicado, seguro puedes conseguir un tutorial de como usar tu debugger (y si no sabes que es un debugger recomiendo primero leer una explicación de que son y como funcionan)

Código
  1. for (var i=0; i<a.length; i++){//i inicia en 0
  2.  a[i]=parseInt(prompt("Introduzca numero",' '));
  3.  document.write (a[i]+ " ");
  4.  }
  5. //actualmente i es igual a a.length porque fue la condicion de romper el for
  6.  
  7.  while (i<a.length && existe==0){ //i es igual a a.length, y como no ambas partes se cumplen se salta
  8.   if (x==a[i])
  9.    {
  10.    existe=1;
  11.    auxp=i;
  12.    }
  13.   else {i++;}
  14.  }

Gracias por la recomendación compañero. Ya uso el Firebug que ayuda bastante.

Yo quiero que si i está incluida en x; existe sea igual a 1 y me vaya guardando el numero introducido.

por ello puse este código

Código:
while (i<a.length || existe==0)

y mientras existe=1 vaya recorriendo todos los números.

sino pues incrementar el número, pero claro esto hace que nunca termine el bucle.

Con ese else solo pretendo que se incremente el númro no que existe valga 1
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
javascript y XUL ayuda
Scripting
KJD 5 5,693 Último mensaje 10 Mayo 2007, 16:55 pm
por KJD
Ayuda con javascript en mi web(no tengo ni idea de javascript)
Desarrollo Web
jonathanmr 1 3,103 Último mensaje 1 Febrero 2013, 06:14 am
por Shell Root
[AYUDA][javascript] Soy muy nuevo en JS y necesito ayuda con este codogo
Desarrollo Web
Noxware 2 2,576 Último mensaje 30 Septiembre 2014, 10:20 am
por trig0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines