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:

 

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.