Sumatoria y promedio de matriz en C

Sumatoria y promedio de matriz en C

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

 

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *