Foros del Web » Programando para Internet » Javascript »

ayuda con este algoritmo

Estas en el tema de ayuda con este algoritmo en el foro de Javascript en Foros del Web. Hola, necesito ayuda con este algoritmo. soy medio cuadrado con esto de la programación y la unica forma que encontre para ordenar los datos fue ...
  #1 (permalink)  
Antiguo 22/05/2009, 16:01
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
ayuda con este algoritmo

Hola, necesito ayuda con este algoritmo. soy medio cuadrado con esto de la programación y la unica forma que encontre para ordenar los datos fue la siguiente:

tengo este codigo:

Código:
<script language="javascript" type="text/javascript">
function categorizar(padre){

datos=new Array(5);
for(i=0;i<=5;i++) datos[i]=new Array(2);
datos[0][1] = "Computacion"; 
datos[1][2] = "Audio"; 
datos[2][3] = "Subwoofers"; 
datos[2][4] = "Tarjetas Sonido"; 
datos[0][5] = "Regalos"; 
datos[5][6] = "Ninos"; 
datos[4][7] = "Sound1"; 

	for(i=padre;i<=7;i++){
		if(datos[padre][i]!=null){
			document.write(datos[padre][i]+"<br>");
			for(j=i;j<=7;j++){
				if(datos[i][j]!=null){
					document.write("-"+datos[i][j]+"<br>");
					for(k=j;k<=7;k++){
						if(datos[j][k]!=null){
							document.write("--"+datos[j][k]+"<br>");
							for(l=k;l<=7;l++){
								if(datos[k][l]!=null){
									document.write("---"+datos[k][l]+"<br>");
								}
							}
						}
					}
				}
			}
		}
	}
}
categorizar(0);
</script>
eso me deja lo siguiente:
Computacion
-Audio
--Subwoofers
--Tarjetas Sonido
---Sound1
Regalos
-Ninos

Esta bien el resultado, pero mi problema es que está totalmente limitado.
No sé como crear el algoritmo para poder hacer lo mismo pero con menos lineas de codigo.. si se dan cuenta incluso es orrible leerlo.

la relacion que hay entre los datos es la siguiente (detallado con colores):

datos[0][1] = "Computacion";
datos[1][2] = "Audio";
datos[2][3] = "Subwoofers";
datos[2][4] = "Tarjetas Sonido";
datos[4][7] = "Sound1";
datos[0][5] = "Regalos";
datos[5][6] = "Ninos";


Gracias..
__________________
Rodrigo Lopez
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 19:06.