Ir al contenido

"Diagonal Difference" un desafío  con matrices cuadradas de ida y de reversa.

Resolveremos este desafío con un iterador que sumara las cantidades de una matriz de forma diagonal de izquierda a derecha y de reversa, es decir de izquierda a derecha.
7 de julio de 2024 por
"Diagonal Difference" un desafío  con matrices cuadradas de ida y de reversa.
Angel Bautista
| Todavía no hay comentarios

Fotografía: cortesía de Benzoix en FreePiks

La tarea consiste en sumar diagonalmente los valores de una matriz cuadrada, de izquierda a derecha y de derecha a izquierda para despues obtener la diferencia absoluta.

La matriz es cuadrada y contiene 3 numeros por lado, como se muestra en la siguiente imágen.



La primera suma deberá ser diagonalmente de izquierda a derecha y de arriba hacia abajo como se muestra en la imagen.

La segunda suma deberá ser diagonalmente tambien de arriba hacia abajo, pero en esta ocación de derecha a izquierda.

Pseudocódigo
  • arma la función diagonalDifference (arreglo) {
  • declara la variable diagonal1 con let y se inicializa igualando a cero;
  • declara la variable diagonal2 con let y se inicializa igualando a cero;
  • itera el string ( inicializo la variable indice; cuando el valor del indice sea mayor al ancho del arreglo; guardar el valor en memoria y bajar un renglor sin retroceder para sumar ){

  • cuadro
Código
function diagonalDifference(arr) {
    let diagonal1 = 0;
    let diagonal2 = 0;
    for(let i = 0; i < arr.length; i++) {
        diagonal1 += arr[i][i];
        diagonal2 += arr[arr.length - 1 - i][i]
    }
    return Math.abs(diagonal2-diagonal1);
}

Consola

Deberías obtener una pantalla tras probar tu código en consola similar al que se muestra en la siguiente imagen.


Compartir
Etiquetas
Iniciar sesión dejar un comentario