En este post de programación en Java con matrices te mostraré cómo sumar las filas de una matriz así como las columnas.
No solo vamos a sumar todos los elementos; vamos a sumar cada fila o cada columna de la matriz usando Java.
Recuerda que antes de aprender a sumar debes saber recorrer la matriz. Primero se recorre cada fila de la matriz y luego cada elemento dentro de la fila, usando un ciclo for:
for (int y = 0; y < matriz.length; y++) {
for (int x = 0; x < matriz[y].length; x++) {
// Aquí tenemos al elemento
}
}
Y si quisiéramos recorrer por columna sería así:
for (int x = 0; x < matriz[0].length; x++) {
for (int y = 0; y < matriz.length; y++) {
// Aquí magia...
}
}
Fíjate que la diferencia está en que en este caso recorremos primero en X y luego dentro de ese ciclo recorremos dentro de Y. Además, asumimos que la matriz es cuadrada y que mide lo mismo en todos sus lados.
Ahora que ya expliqué un poco de teoría veamos cómo sumar los renglones de una matriz en Java. Es simplemente recorrer e ir sumando.
Por cierto, también me he dado a la tarea de imprimir la matriz para mostrar el resultado de la suma.
static void sumaFilas(int[][] matriz) {
for (int y = 0; y < matriz.length; y++) {
int suma = 0;
for (int x = 0; x < matriz[y].length; x++) {
System.out.printf("%d ", matriz[y][x]);
suma += matriz[y][x];
}
System.out.printf("= %d\n", suma);
}
}
Como puedes ver es un simple recorrido en donde agregamos la suma al final de cada renglón o fila de la matriz.
Ahora veamos el otro enfoque. El algoritmo es muy similar al código Java visto anteriormente pero ahora vamos a sumar las columnas y colocar los resultados abajo.
El código queda de la siguiente manera:
static void sumaColumnas(int[][] matriz) {
// Imprimir la matriz normalmente
imprimirMatriz(matriz);
// Debajo de ella imprimir una línea divisora
for (int x = 0; x < matriz[0].length; x++) {
System.out.print("___");
}
System.out.println();
// Luego recorrer por columna y sumar
for (int x = 0; x < matriz[0].length; x++) {
int suma = 0;
for (int y = 0; y < matriz.length; y++) {
suma += matriz[y][x];
}
System.out.printf("%d ", suma);
}
System.out.println();
}
Además del código para realizar la suma estamos invocando a la función imprimirMatriz
, pues debido a la forma en la que vamos a recorrerla, no podemos imprimirla desde el método como lo hicimos al sumar las filas.
Ya te mostré las cosas por separado. Es momento de mostrarte el código completo para sumar matrices en Java, o mejor dicho, sumar las filas y columnas de un arreglo bidimensional.
package me.parzibyte;
// https://parzibyte.me/blog
public class Main {
static void imprimirMatriz(int[][] matriz) {
for (int y = 0; y < matriz.length; y++) {
for (int x = 0; x < matriz[y].length; x++) {
System.out.printf("%d ", matriz[y][x]);
}
System.out.println();
}
}
static void sumaFilas(int[][] matriz) {
for (int y = 0; y < matriz.length; y++) {
int suma = 0;
for (int x = 0; x < matriz[y].length; x++) {
System.out.printf("%d ", matriz[y][x]);
suma += matriz[y][x];
}
System.out.printf("= %d\n", suma);
}
}
static void sumaColumnas(int[][] matriz) {
// Imprimir la matriz normalmente
imprimirMatriz(matriz);
// Debajo de ella imprimir una línea divisora
for (int x = 0; x < matriz[0].length; x++) {
System.out.print("___");
}
System.out.println();
// Luego recorrer por columna y sumar
for (int x = 0; x < matriz[0].length; x++) {
int suma = 0;
for (int y = 0; y < matriz.length; y++) {
suma += matriz[y][x];
}
System.out.printf("%d ", suma);
}
System.out.println();
}
public static void main(String[] args) {
// https://parzibyte.me/blog
int[][] matriz = {
{20, 12, 77},
{50, 12, 89},
{10, 44, 15},
};
System.out.println("La matriz es: ");
imprimirMatriz(matriz);
System.out.println("Suma de filas:");
sumaFilas(matriz);
System.out.println("Suma de columnas:");
sumaColumnas(matriz);
}
}
Te dejo con una guía para aprender más sobre Java totalmente gratis.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
for (int y = 0; y < matriz.length; y++) {
for (int x = 0; x < matriz[y].length; x++) {
// Aquí tenemos al elemento
}
}
Por que matriz[y].length, que hace esa y?
Está leyendo la longitud de la fila que está en la posición Y