Número mayor y menor en una matriz

08/Feb/2021 Java , , 1 Comentario
Programación en Java

Atendiendo a una de las numerosas peticiones que nos hacéis en los comentarios hoy vamos a ver cómo podemos calcular el número mayor y menor en una matriz además de su posición con Java.

Lo primero de todo será crear una matriz con los números. Hay que recordar que una matriz es un array de arrays la cual podemos inicializar de la siguiente manera:

int[][] matriz = {{29,23,13},{41,57,69},{17,28,39}};

Lo siguiente que haremos será definir dos variables en las que indicaremos cuál es el número mayor y cuál es el número menor.

int numeroMayor = matriz[0][0];
int numeroMenor = matriz[0][0];

Por defecto asumimos que el número mayor y el número menor se encuentran en la posición (0,o). Además vamos a crear otras dos variables que almacenen la posición en la que se encuentran almacenados.

String mayorPosicion = "0,0";
String menorPosicion = "0,0";

De igual manera que hacíamos con los números lo hacemos con sus posiciones e indicamos que las posiciones son la 0,0.

Ahora, como ya vimos en el ejemplo imprimir una matriz con Java, vamos a recorrer la matriz con dos bucles for. El primero hasta la longitud del array y el segundo por la longitud de los arrays de cada uno de los elementos del primer array.

La longitud del array la conseguimos mediante el campo .length

El bucle doble nos quedaría de la siguiente forma:

for (int x=0;x<matriz.length;x++) {
  for (int y=0;y<matriz[x].length;y++) {

    // Acción

  }                
}

En cada iteración de los bucles podremos acceder a un elemento mediante las coordenadas x,y.

matriz[x][y]

Por lo que será el punto en el que realicemos las comprobaciones que serán:

  • Si el número evaluado es mayor que el valor de numeroMayor, sustituiremos el valor por el valor actual, así como la variable mayorPosicion.
  • Si el número evaluado es menor que el valor de numeroMenor, sustituiremos el valor por el valor actual, así como la variable menorPosicion.

De esta forma el código nos quedará de la siguiente forma:

for (int x=0;x<matriz.length;x++) {
  for (int y=0;y<matriz[x].length;y++) {

    if (matriz[x][y] > numeroMayor) {
      numeroMayor = matriz[x][y];
      mayorPosicion = x + "," + y;
    }

    if (matriz[x][y] < numeroMenor) {
      numeroMenor = matriz[x][y];
      menorPosicion = x + "," + y;
    }

  }                
}

Una vez que salgamos de los bucles ya tendremos el número mayor y menor en una matriz además de sus posiciones mediante código Java.

Ya solo nos quedará el volcar su contenido a la pantalla mediante un objeto System.out.

System.out.println("El número mayor de la matriz es " + numeroMayor + " en la posición " + mayorPosicion);
System.out.println("El número menor de la matriz es " + numeroMenor + " en la posición " + menorPosicion);

Espero que os haya servido de utilidad el artículo.

Vídeos sobre Java


Un comentario en “Número mayor y menor en una matriz”

Víctor Cuervo

JIUAN

POR K MIERD4 SUBEN ASI BIEN FEO EL CODIGO POR PART4ES VALEN VRG

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.