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

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

Nuestro contenido más reciente

Conozca las novedades de nuestra empresa

Su snippet dinámico aparecerá aquí... Este mensaje aparece porque no proporcionó ni el filtro ni la plantilla a usar.