Problema de matrices en java script y POO, ayuda

Iniciado por shen_88, 27 Noviembre 2021, 20:15 PM

0 Miembros y 1 Visitante están viendo este tema.

shen_88

En una hacienda hay un hato que se compone de N vacas. Diseñe un algoritmo que guarde en una matriz de dimensión 7xN la producción de leche diaria (en litros) de cada una de las vacas, durante una semana. Además, el algoritmo debe calcular la producción total del hato en cada uno de los siete días, y el número de la vaca que dio más leche en cada día.

@XSStringManolo

#1
Aquí no se resuelven tareas, se ayuda cuanto te atascas con algo. Intenta hacerlo y cuando te ataques coméntanos que es lo que hiciste, lo que intentaste hacer y porque no te salió y te podremos ayudar.

Te ayudo a entender que es lo que te pide el problema, por si es ahí donde te atascaste, ya que muchas veces la descripción de los ejericios es un poquito vaga:

Te dice que diseñes un algoritmo, este podría ser por ejemplo una función.
Código (javascript) [Seleccionar]
const miAlgoritmo = (argumento1, argumento2) => {
 //codigo
 // return resultado
};


Te dice que N es el número de vacas y que la matriz es de 7xN, visualmente sería algo como:
N
N
N
N
N
N
N


Si existiesen 3 vacas pues 7xN sería:
N N N
N N N
N N N
N N N
N N N
N N N
N N N


Te habla de producción de leche diaria durante 1 semana, asique puedes asumir que es 7xN porque 7 son los días que tiene la semana. Recuerda que cada N de la fila es una vaca (o lo que es lo mismo, la producción de leche de la vaca en ese día)
              Vaca1 Vaca2 Vaca3
Lunes           N     N     N
Martes          N     N     N
Miercoles       N     N     N
Jueves          N     N     N
Viernes         N     N     N
Sabado          N     N     N
Domingo         N     N     N


Para crear array/matrizes puedes usar el constructor Array. Por ejemplo:
Código (javascript) [Seleccionar]
const tableroAjedrez = Array(8).fill(0).map( row => Array(8).fill(0) );

Como no se deberían poder añadir mas columnas o filas al tablero, porque es un objeto que siempre va a tener 64 casillas (8x8), se puede sellar:
Código (javascript) [Seleccionar]
Object.seal(tableroAjedrez);

Sellarlo sirve mas que nada por si añades una fila o columna por accidente, te avise de que no puedes añadirle filas o columnas a un objeto sellado.

Una vez tengas la matriz y tomes los datos por parámetros (pudes obetener los datos como tu quieras, no te dice como debes hacerlo, te dan libertad) para rellenarla; deberas sumar la leche que dan las N vacas (3 por ejemplo) cada día y también cual de las N vacas dio mas leche ese día. Para sacar la vaca puedes ayudarte del algoritmo de burbuja o usar sort( (a, b) => a - b) sobre cada fila (dia de la semana)