public class MatrizSumas {
public static void main(String[] args) {
int[][] matriz = {
{4, 0, 9, 15, 3},
{5, 8, 10, 23, 6},
{6, 5, 10, 2, 1},
{10, 0, 1, 1, 1},
{0, 2, 7, 9, 4},
{25, 15, 37, 10, 9}
};
int[] sumaReng = sumaRenglones(matriz);
int[] sumaCol = sumaColumnas(matriz);
System.out.println("Valores de Matriz");
for (int reng = 0; reng < matriz.length; reng++) {
System.out.print("[ ");
for (int col = 0; col < matriz[0].length; col++)
System.out.print(matriz[reng][col] + " ");
System.out.println("]");
}
System.out.println("\nSumas Renglones");
System.out.print("[ ");
for (int i = 0; i< sumaReng.length; i++)
System.out.print(sumaReng[i] + " ");
System.out.println("]");
System.out.println("\nSumas Columnas");
System.out.print("[ ");
for (int i = 0; i< sumaCol.length; i++)
System.out.print(sumaCol[i] + " ");
System.out.println("]");
}
private static int[] sumaRenglones(int[][] mtz) {
//Nuevo arreglo con longitud según cantidad renglones
int[] sumas = new int[mtz.length];
/*
* Usamos dos bucles anidados.
* El primero sirve para recorrer el nuevo arreglo
* y cada renglón de la matriz.
* El segundo recorre las columnas de cada renglón,
* para sumar sus valores.
*/
for (int renglon = 0; renglon < mtz.length; renglon++) {
for (int columna = 0; columna < mtz[0].length; columna++) {
sumas[renglon] += mtz[renglon][columna];
}
}
//Renglones sumados, retornamos arreglo con las sumas
return sumas;
}
private static int[] sumaColumnas(int[][] mtz) {
//Nuevo arreglo con longitud según cantidad columnas
int[] sumas = new int[mtz[0].length];
/*
* Como en el método anterior, usamos dos bucles.
* Esta vez, el primero recorrerá el arreglo y las columnas
* de la matriz.
* El segundo recorre los renglones de cada columna,
* para sumar sus valores
*/
for (int columna = 0; columna < mtz[0].length; columna++) {
for (int renglon = 0; renglon < mtz.length; renglon++) {
sumas[columna] += mtz[renglon][columna];
}
}
//Tenemos las sumas, las retornamos
return sumas;
}
}