#¿Alguien sabría hacer éste ejercicio Es

1 messages · Page 1 of 1 (latest)

timber plume
#

Ve haciendo paso por paso, como harías para que el arreglo bidimensional (matriz) sea un arreglo de una dimensión?

hardy wren
#

un bucle que lo recorriese y fuese mandando cada valor a un nuevo array vacio?

timber plume
hardy wren
#

uno dentro de otro

#

con i y con j por ejemplo

timber plume
hardy wren
timber plume
#

El 2° vas bien pero tienes un error en el segundo for

#

Tendria que iniciar sobre 0 y no sobre i y no dependeria de la longitud de array.length si no de la longitud del arreglo anidado: array[i].length

hardy wren
#

pero el arr aun está vacío

timber plume
hardy wren
#

Claro, así debería estar

#

y ahora debería meter algo en arr?

#

perdon por darte el coñazo, soy un desastre

#

estoy aprendiendo aun

timber plume
#

No te preocupes, todos pasamos por ahí

timber plume
timber plume
#

Como accederias al item dentro de una matriz?

hardy wren
#

con la posicion

#

no?

timber plume
#

Si claro, como quedaria?

hardy wren
#

pero no se como meterlo jajaja

#

me se la logica

#

no me sale como hacerlo

timber plume
#

Usa push para insertar un elemento, dudo que el profe te ponga un problema por usarla

#

Igual si te llega a poner un problema, puedes usar una variable que empiece en 0 y por cada valor insertado aumentas el contador:
arr[indiceNuevo++] = valorMatriz

hardy wren
#

asi?

timber plume
hardy wren
timber plume
# hardy wren

Super, ya tienes el 1° paso, omite el 2° y pasa al 3°

#

Imagínate que ya tienes el arreglo ordenado, como harias para reemplazar los valores de array por los de arr?

hardy wren
#

borraria el array y haria un push

timber plume
#

Pero como sabrias que la matriz es 4 - 3 - 4?

hardy wren
#

con la lenght de la original

timber plume
#

Pero si la borras como sabria el length?

hardy wren
#

claro, pues no lo borro entonces

#

saco el lenght de array[i]

#

así me das 3 lenghts no?

#

4 - 3 - 4

timber plume
#

Si y no, algo mas fácil seria iterarlo y reemplazar los valores del arreglo "ordenado"

hardy wren
#

vale osea que hago otro for para recorrerlo

#

pero claro, mi duda es como lo "comparo" con el array original para colocarlo

timber plume
#

No tienes que comparar, itera el arreglo original y vas sacando el valor del arreglo ordenado, vas a necesitar una variable contadora, que empiece en 0 y vaya aumentando

hardy wren
#

no lo sé, me estoy agobiando porque no me sale

#

y te estoy dando el coñazo

timber plume
#

No pasa nada

#

Tienes que hacer la misma iteración solo que ya no haras un push si no reasignación del valor

hardy wren
#

he hecho la función para que me lo imprima, el problema es ordenarlo

timber plume
#
let length = 0;
for (let i = 0; i < array.length; i++) {
  for (let j = 0; j < array[i].length; j++) {
    array[i][j] = arr[length++];
  }
}
#

Es así, estás modificando el valor de [i][j] de acuerdo al valor que este en arr

#

El resultado final debe ser el mismo arreglo, por que no se esta haciendo un ordenamiento

hardy wren
#

asi estaría completo?

#

porque me devuelve esto nada mas

timber plume
hardy wren
timber plume
#

Listo, el 3° paso ya lo tendrías, lo que faltaría es añadir el 2° que debería ordenar el arreglo

hardy wren
#

pues ni idea la verdad

#

no se como podria ordenarlo

timber plume
#

Aqui viene lo complicado, hay diferentes modelos de ordenamiento, pero te explicaré el mas sencillo, para ordenar un arreglo es suficiente con validar una posición con el siguiente, y si es menor cambian de lugar, sino pues sigue en el mismo, y así con todos las posiciones, el resultado final es un arreglo ordenado

Es como si tienes a 10 personas en fila y quieres ordenarlos uno a uno, empiezas con el 1° miras si es mas alto que el 2° y lo mas moviendo

#

Te pasaré el código de esta iteración, analízalo y me avisa si lo entiendes:

for (let i = 0; i < arr.length; i++) {
  for (let j = i + 1; j < arr.length; j++) {
    if (arr[i] > arr[j]) {
      temp = arr[i];
      arr[i] = arr[j];
      arr[j] = temp;
    }
  }
}
hardy wren
#

vaaaaaaaaaaale

#

ya entiendo joder

#

vas cambiando posiciones en funcion del valor que tenga cada una