Las matrices en C son arreglos de dos dimensiones. En este post vamos a ver cómo obtener el número mayor y menor de una matriz en C, utilizando el ciclo for y comparaciones con if.

Mayor y menor de matriz en C

Explicación del algoritmo

Para obtener el número mayor y menor de una matriz en C simplemente hay que comenzar definiendo ambas variables; el valor inicial que deben tener es uno que esté dentro de la matriz, por ejemplo en la posición [0][0]

Después, recorremos la matriz; para ello necesitamos dos ciclos de los cuales uno estará dentro del otro. En cada paso, comparamos el valor actual con el mayor.

Si el actual es más grande que el mayor, entonces el mayor ahora es el actual.

Por otro lado, si el actual es más pequeño que el menor, entonces el menor ahora es el actual.

Terminamos los ciclos e imprimimos los valores.

Función que obtiene el mayor y menor de una matriz en C

Veamos el código para trabajar con matrices en C. Estamos definiendo la altura y la anchura de la matriz utilizando #define para evitar calcular la longitud de un arreglo con sizeof.

/**
 * Mayor y menor de una matriz en C
 *
 * @author parzibyte
 * https://parzibyte.me/blog/
 *
 * */
#define ALTURA 3
#define ANCHURA 3

#include <stdio.h> // Para printf

int main() {
    int matriz[ALTURA][ANCHURA] = {
            {20,  50, 80},
            {500, 12, 44},
            {56,  4,  3},
    };
    // Iniciar los números, suponiendo que son los primeros
    int menor = matriz[0][0];
    int mayor = matriz[0][0];
    // Recorrer la matriz y comparar
    for (int y = 0; y < ALTURA; y++) {
        for (int x = 0; x < ANCHURA; x++) {
            int elementoActual = matriz[y][x];
            if (elementoActual > mayor) mayor = elementoActual;
            if (elementoActual < menor) menor = elementoActual;
        }
    }
    printf("Mayor: %d\n", mayor);
    printf("Menor: %d\n", menor);
    return 0;
}

Hacemos dos ciclos en la línea 23 y 24. Nuestras variables son x e y; obtenemos el elemento actual en la línea 25 y después en la línea 26 y 27 hacemos comparaciones.

Al terminar de recorrer la matriz, imprimimos nuestros resultados con printf. Al menos para el caso de la matriz del código, la salida es:

C:\Users\usuario\CLionProjects\EjerciciosC\cmake-build-debug\EjerciciosC.exe
Mayor: 500
Menor: 3

Process finished with exit code 0
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto