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.

Sumatoria y promedio de matriz en C

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.

Código fuente

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:

Sumatoria y promedio de matriz en C
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