Hola,
tengo un problema a la hora de multiplicar los elementos internos en una matriz bidimensional... me explico...
La matriz internamente es así (el número de filas puede variar pero de momento con 3):
2 2 3 4 2 2 5 2
3 2 2 3 2 3 2 3 2 2 3
1 4 3 3 3 3
Ahora es donde viene la complejidad, habría un caso base y un resto, es decir, el caso base sería el primer elemento de cada fila, en este caso 2x3x1.
Para el resto lo que habría que hacer es colocarse en la siguiente posición de cada fila y avanzar tantas posiciones como elementos aparecen en el primer elemento y realizar la siguiente multiplicación:
2 x 2 x 4 a[0][1] * a[1][1] * a[2][1]
2 x 2 x 4 a[0][1] * a[1][2] * a[2][1]
2 x 3 x 4 a[0][1] * a[1][3] * a[2][1]
3 x 2 x 4 a[0][2] * a[1][1] * a[2][1]
3 x 2 x 4 a[0][2] * a[1][2] * a[2][1]
3 x 3 x 4 a[0][2] * a[1][3] * a[2][1]
a continuación, colocarse en el 4 (de la fila 0) y coger los 5 elementos siguientes ya que los dos elementos anteriores suman 5 (el 2 y 3), y realizar las multiplicaciones de nuevo.
Se puede plantear así también:
2
2 3
4 2 2 5 2
3
2 2 3
2 3 2 3 2 2 3
1
4
3 3 3 3
es lo mismo que antes, el caso base sería el primer nivel, y a continuación se multiplicaría cada uno de los elementos de los siguientes niveles tantas veces como aparezcan en el nivel anterior.
Si me podéis ayudar os lo agradecería.
Saludos
tengo un problema a la hora de multiplicar los elementos internos en una matriz bidimensional... me explico...
La matriz internamente es así (el número de filas puede variar pero de momento con 3):
2 2 3 4 2 2 5 2
3 2 2 3 2 3 2 3 2 2 3
1 4 3 3 3 3
Ahora es donde viene la complejidad, habría un caso base y un resto, es decir, el caso base sería el primer elemento de cada fila, en este caso 2x3x1.
Para el resto lo que habría que hacer es colocarse en la siguiente posición de cada fila y avanzar tantas posiciones como elementos aparecen en el primer elemento y realizar la siguiente multiplicación:
2 x 2 x 4 a[0][1] * a[1][1] * a[2][1]
2 x 2 x 4 a[0][1] * a[1][2] * a[2][1]
2 x 3 x 4 a[0][1] * a[1][3] * a[2][1]
3 x 2 x 4 a[0][2] * a[1][1] * a[2][1]
3 x 2 x 4 a[0][2] * a[1][2] * a[2][1]
3 x 3 x 4 a[0][2] * a[1][3] * a[2][1]
a continuación, colocarse en el 4 (de la fila 0) y coger los 5 elementos siguientes ya que los dos elementos anteriores suman 5 (el 2 y 3), y realizar las multiplicaciones de nuevo.
Se puede plantear así también:
2
2 3
4 2 2 5 2
3
2 2 3
2 3 2 3 2 2 3
1
4
3 3 3 3
es lo mismo que antes, el caso base sería el primer nivel, y a continuación se multiplicaría cada uno de los elementos de los siguientes niveles tantas veces como aparezcan en el nivel anterior.
Si me podéis ayudar os lo agradecería.
Saludos