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
.
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.
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
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.