Continuamos con los ejercicios de matrices en Java. En este artículo veremos cómo obtener la sumatoria (la suma de todos los elementos) y el promedio de una matriz.
Recordemos que el promedio es el resultado de dividir la sumatoria entre la cantidad de elementos de la matriz, así que con la sumatoria podemos obtener el promedio.
Declarar y recorrer matriz con sumatoria
Comenzamos definiendo la matriz, así como la sumatoria. Al inicio la sumatoria es 0, e irá aumentando en cada paso que demos al recorrer la matriz. Por otro lado, llevamos un contador de elementos.
Para recorrer la matriz necesitamos un ciclo for anidado porque necesitamos la posición de la fila y la posición del elemento de la fila, o en otras palabras, la posición de x
e y
. El código que hace eso queda así:
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
int sumatoria = 0; // Aquí iremos sumando cada valor
int cantidadDeElementos = 0; // Contar los elementos
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
int numeroActual = matriz[x][y];
sumatoria = sumatoria + numeroActual;
cantidadDeElementos = cantidadDeElementos + 1;
}
}
Dentro de cada paso sumamos el valor actual a la sumatoria, y aumentamos en 1 al contador de elementos.
Calcular promedio
Una vez que salimos del ciclo y terminamos de recorrer la matriz podemos calcular el promedio. La parte que dice (float) sumatoria
es para castear el entero a flotante.
Queda así:
float promedio = (float) sumatoria / cantidadDeElementos;
System.out.printf("La sumatoria es %d y el promedio es %f", sumatoria, promedio);
Poniendo todo junto
Es momento de mostrar el código completo con la demostración. La clase de Java para obtener el promedio de una matriz queda así:
/*
Programado por Luis Cabrera Benito
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
Blog: https://parzibyte.me/blog
Ayuda: https://parzibyte.me/blog/contrataciones-ayuda/
Contacto: https://parzibyte.me/blog/contacto/
*/
class Main {
public static void main(String[] args) {
int[][] matriz = { { 11, 1232, 386, 432 }, { 47, 454, 254, 353 } };
int sumatoria = 0; // Aquí iremos sumando cada valor
int cantidadDeElementos = 0; // Contar los elementos
// Recorremos la matriz
for (int x = 0; x < matriz.length; x++) {
for (int y = 0; y < matriz[x].length; y++) {
int numeroActual = matriz[x][y];
sumatoria = sumatoria + numeroActual;
cantidadDeElementos = cantidadDeElementos + 1;
}
}
float promedio = (float) sumatoria / cantidadDeElementos;
System.out.printf("La sumatoria es %d y el promedio es %f", sumatoria, promedio);
}
}
Su ejecución es exitosa y además, el promedio y la sumatoria son correctos para la matriz:
Si te gusta Java puedes aprender con más ejercicios en mi blog.