Open FacuLL opened 3 days ago
Si en algún momento ambos flags son cero, entonces no tiene sentido seguir recorriendo Pero el algoritmo es incompleto, fijate que junto con el enunciado debe haber ejemplos Por ejemplo, si COLS es 4 se tiene que cumplir (para que sea ascendente) que m[i][COLS-1] sea menor que m[i+1][0] No estás contemplando toda la matriz sino cada fila en forma individual Tampoco entiendo por qué ignorás la última fila
Hola, tenés razón en cuanto a cortar cuando ambos flags son 0, gracias. En cuanto a checkear ascendencia/descendencia entre el último elemento de una fila y el primero de la siguiente, es justamente lo que hago al checkear que m[i][j+1] ya que, al pasar por el último elemento de una fila, lo compara con el siguiente elemento que, si no me equivoco, corresponde al primero de la siguiente fila. Se pasa de rango intencionalmente y me preguntaba si se considera mala práctica. Incluso podría hacerse considerando a la matriz como un vector de FILS * COLS elementos. No estoy ignorando la última fila, solo ignoro el último elemento de la matriz puesto a que no tiene sentido compararlo con el siguiente (que no corresponde a un elemento de la matriz). Gracias nuevamente.
En este caso, que la matriz se usa completa, se puede hacer el "truco" de pasarse de una fila ya que es el primer elemento de la siguiente fila. Pero si no se usa la matriz completa sino hasta cierta columna, el algoritmo ya no sirve. Por eso es preferible un algoritmo que sea igual de simple pero más genérico. Es suficiente con tener guardada en una variable el valor anterior visitado. De esa forma no hay casos especiales y funciona para todos los casos
Muy claro, muchas gracias.
(Duda para que respondan mañana)
Buenas! Volviendo a la guía me surgió la duda de si este ejercicio está bien hecho:
Yo pensé la función de la siguiente manera:
Quería saber si tiene buen estilo pero, sobre todo, si es buena práctica pasarse de la fila de una matriz intencionalmente, sabiendo que a continuación se encuentra el primer elemento de la siguiente fila.
Gracias y saludos!