Duda con función en JavaScript

Dudas y comentarios sobre otros lenguajes de programación. Si algún lenguaje recibe suficientes preguntas le añadimos nueva categoría.
Responder
Mensaje
Autor
Yun Tiggy
Mensajes: 1
Registrado: 27/11/2008 6:35 pm

Duda con función en JavaScript

#1 Mensaje por Yun Tiggy » 12/12/2008 6:20 am

Que onda!!! buen dia a todos xP, aqui paso a molestar un poco que tengo duda con este script, soy nuevo con este lenguaje asi que aun tengo muchos horrores con el TT_TT

Lo que el script debe hacer es llenar un arreglo con numeros aleatorios del 0 asl 50 y mostrarlos en el explorador, despues debe ordenarlos y tambien mostrarlos en el explorador, no se que estoy haciendo mal, puesto que sin la funcion de ordenamiento quicksort (que es obligatorio use esa función) si trabaja bien el script pero a la hora de implementarle esa funcion ya no sirve, aquí dejo mi codigo.

Código: Seleccionar todo

<html>
<head>
<title>Cuarto programa en java script</title>
<script type="text/javascript">

var num = new Array(50)

var cont;
var aleat;

function quicksort(a[],inf,sup)
{
var izq;
var der; 
var mitad;
var x;
               izq=inf;
               der=sup;
               mitad = a[(izq+der)/2];
               do {
                   while (a[izq]<mitad && izq<sup)izq++;
                   while (mitad<a[der] && der >inf)der--;
                   if(izq<=der){
               		x=a[izq];
	       		a[izq] = a[der];
	       		a[der] = x;
               		izq ++; 
	       		der--;
               }
               }
          while (izq<=der);
          if(inf<der)quicksort(a,inf,der);
          if(izq<sup)quicksort(a,izq,sup);
          }	
}
for(cont=0;cont<50;cont++)
  {
      aleat=Math.random()*51;
      aleat=Math.floor(aleat);
      num[cont] = aleat;
      document.write("<br>"+num[cont]);   
  }

quicksort(num,0,49);

for(cont=0;cont<50;cont++)
{
  if(cont%10==0)
     document.write("<br>"+num[cont]);
  else
     document.write("   "+num[cont]);
}
</script>
</head>
</html>
Muchas gracias por su atención

Avatar de Usuario
digies
Mensajes: 1001
Registrado: 18/11/2005 12:00 am
Ubicación: Blumenau (Br)

#2 Mensaje por digies » 08/01/2009 5:10 pm

El script no te funciona porque está bastante incompleto. Por ejemplo, le faltan algunas llaves de apertura y cierre en algunas sentencias de control condicionales, además las estás usando mal. Te sugeriría consegir un buen libro o tutorial de Javascript y empieces primero por programar cosas sencillas para saber cómo funcionan las cosas en este lenguaje.

Un saludo
With enough eyes, all bugs are easy to find.

Eric S. Raymond

viana2387
Mensajes: 5
Registrado: 02/01/2019 5:22 am

Re: Duda con función en JavaScript

#3 Mensaje por viana2387 » 02/01/2019 5:26 am

Yun Tiggy escribió:
12/12/2008 6:20 am
Que onda!!! buen dia a todos xP, aqui paso a molestar un poco que tengo duda con este script, soy nuevo con este lenguaje asi que aun tengo muchos horrores con el TT_TT

Lo que el script debe hacer es llenar un arreglo con numeros aleatorios del 0 asl 50 y mostrarlos en el explorador, despues debe ordenarlos y tambien mostrarlos en el explorador, no se que estoy haciendo mal, puesto que sin la funcion de ordenamiento quicksort (que es obligatorio use esa función) si trabaja bien el script pero a la hora de implementarle esa funcion ya no sirve, aquí dejo mi codigo.

Código: Seleccionar todo

<html>
<head>
<title>Cuarto programa en java script</title>
<script type="text/javascript">

var num = new Array(50)

var cont;
var aleat;

function quicksort(a[],inf,sup)
{
var izq;
var der; 
var mitad;
var x;
               izq=inf;
               der=sup;
               mitad = a[(izq+der)/2];
               do {
                   while (a[izq]<mitad && izq<sup)izq++;
                   while (mitad<a[der] && der >inf)der--;
                   if(izq<=der){
               		x=a[izq];
	       		a[izq] = a[der];
	       		a[der] = x;
               		izq ++; 
	       		der--;
               }
               }
          while (izq<=der);
          if(inf<der)quicksort(a,inf,der);
          if(izq<sup)quicksort(a,izq,sup);
          }	
}
for(cont=0;cont<50;cont++)
  {
      aleat=Math.random()*51;
      aleat=Math.floor(aleat);
      num[cont] = aleat;
      document.write("<br>"+num[cont]);   
  }

quicksort(num,0,49);

for(cont=0;cont<50;cont++)
{
  if(cont%10==0)
     document.write("<br>"+num[cont]);
  else
     document.write("   "+num[cont]);
}
</script>
</head>
</html>
Muchas gracias por su atención
Hola amigo, como vas? has aprendido algo? aqui te dejo una lista de errores que cometemos cuando empezamos a trabajar con javascipt, espero no los cometas! https://www.escuelajavascript.com/top-1 ... proyectos/

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados