Anteriormente hemos visto cómo obtener el promedio de un arreglo; ahora vamos a ver cómo obtener la sumatoria y promedio de una matriz en C; será casi lo mismo pero con dos ciclos for
.
Es decir, ahora vamos a obtener el promedio y la sumatoria de una matriz de dos dimensiones.
El algoritmo es realmente sencillo. Recorremos la matriz y vamos sumando cada valor a una variable llamada sumatoria.
Para obtener el promedio, dividimos la sumatoria entre la cantidad de elementos, que será el resultado de multiplicar las filas por las columnas.
Al final vamos a tener la sumatoria y el promedio.
Ahora que ya he mencionado el algoritmo, veamos el código fuente. Primero definimos la matriz:
#define ALTURA 3
#define ANCHURA 3
int matriz[ALTURA][ANCHURA] = {
{20, 50, 80},
{500, 12, 44},
{56, 4, 3},
};
Después declaramos la sumatoria y la cantidad de elementos:
// Necesitamos la sumatoria, al inicio es 0 y después vamos aumentándola
int sumatoria = 0;
int cantidadElementos = ALTURA * ANCHURA;
Ahora recorremos la matriz y vamos sumando cada elemento:
// Recorrer la matriz y sumar
for (int y = 0; y < ALTURA; y++) {
for (int x = 0; x < ANCHURA; x++) {
int elementoActual = matriz[y][x];
sumatoria = sumatoria + elementoActual;
}
}
Finalmente calculamos el promedio e imprimimos los valores:
// El promedio es = sumatoria / cantidadDeElementos
double promedio = (float) sumatoria / (float) cantidadElementos;
printf("Sumatoria: %d\n", sumatoria);
printf("Promedio: %0.2f\n", promedio);
Entonces el código completo queda como se ve a continuación:
/**
* Sumatoria y promedio de 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},
};
// Necesitamos la sumatoria, al inicio es 0 y después vamos aumentándola
int sumatoria = 0;
int cantidadElementos = ALTURA * ANCHURA;
// Recorrer la matriz y sumar
for (int y = 0; y < ALTURA; y++) {
for (int x = 0; x < ANCHURA; x++) {
int elementoActual = matriz[y][x];
sumatoria = sumatoria + elementoActual;
}
}
// El promedio es = sumatoria / cantidadDeElementos
double promedio = (float) sumatoria / (float) cantidadElementos;
printf("Sumatoria: %d\n", sumatoria);
printf("Promedio: %0.2f\n", promedio);
return 0;
}
En mi caso la salida es la de la imagen:
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.