En este post veremos un ejercicio básico de Java. Se trata de, dada una matriz, buscar el elemento mayor y el elemento mayor. Vamos a repasar los ciclos y la comparación, usando for
e if
respectivamente.
Definir y recorrer matriz
Comenzamos definiendo la matriz, que no es más que un arreglo de dos dimensiones. Para recorrerla necesitamos el índice de la fila y el índice del elemento de cada fila:
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
// Magia aquí
}
}
Dentro del ciclo anidado tendremos acceso al elemento actual.
Obtener mayor y menor de matriz
Ahora vamos a definir el elemento mayor y el elemento menor. Debemos tener estas variables fuera del ciclo. Al inicio inferimos que tanto el mayor como el menor son el primer elemento de la matriz, esto solo para iniciar:
int mayor = matriz[0][0], menor = matriz[0][0];
Después, dentro del ciclo comprobamos:
int numeroActual = matriz[x][y];
if (numeroActual > mayor)
mayor = numeroActual;
if (numeroActual < menor)
menor = numeroActual;
Poniendo todo junto
El código completo queda así:
class Main {
public static void main(String[] args) {
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
int mayor = matriz[0][0], menor = matriz[0][0]; // suponemos que ambos están en la primer posición
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
int numeroActual = matriz[x][y];
if (numeroActual > mayor)
mayor = numeroActual;
if (numeroActual < menor)
menor = numeroActual;
}
}
System.out.printf("El mayor es %d y el menor es %d", mayor, menor);
}
}
Al ejecutarlo, el número menor y el número mayor se imprimen en la consola:
Con eso terminamos este post, pero puedes leer más sobre Java en mi blog.
y como haria para poder intercambiar las posicion del numero mayor con el numero menor
Si tiene dudas puede hacérmelas llegar en https://parzibyte.me/#contacto