// Clase para manipular Matrices // Antonio Carrillo Ledesma public class Matriz { // Coeficientes de la Matriz private double [][] M; // Numero de Renglones private int ren; // Numero de Columnas private int col; // Constructor de la clase public Matriz() { col = 0; ren = 0; } // Asigna coeficientes public Matriz(double [][]coef) { int i, j; ren = coef.length; col = coef[0].length; M = new double[ren][col]; for (i = 0; i < ren; i++) { for (j = 0; j < col; j++) { M[i][j] = coef[i][j]; } } } // Retorna los coeficientes public double coeficiente(int i, int j) { if (i < 0 || i >= ren || j < 0 || j >= col) System.out.print("Error"); return M[i][j]; } // Retorna el numero de renglones public int renglones() { return ren; } // Retorna el numero de columnas public int columnas() { return col; } // Visualiza la Matriz public void visualiza() { int i, j; for (i = 0; i < ren; i++) { for (j = 0; j < col; j++) { System.out.print(M[i][j]); System.out.print(" "); } System.out.println(""); } } // Visualiza la Matriz public void visualizaLN() { visualiza(); System.out.println(""); } // Suma con dos operandos public void suma(Matriz a, Matriz b) { int i, j; ren = 0; col = 0; // Revisa el tamano de las Matrices a sumar if(a.renglones() != b.renglones() || a.columnas() != b.columnas()) { System.out.println("Error, las dimensiones no son iguales"); } else { // Solicita memoria para los coeficientes ren = a.renglones(); col = a.columnas(); M = new double[ren][col]; for (i = 0; i < ren; i++) { for (j = 0; j < col; j++) { M[i][j] = a.coeficiente(i, j) + b.coeficiente(i, j); } } } } // Suma con un operando public void suma(Matriz a) { int i, j; // Revisa el tamano de las Matrices a sumar if(renglones() != a.renglones() || columnas() != a.columnas()) { System.out.println("Error, las dimensiones no son iguales"); } else { // Solicita memoria para los coeficientes for (i = 0; i < ren; i++) { for (j = 0; j < col; j++) { M[i][j] += a.coeficiente(i, j); } } } } // Funcion Principal .... public static void main(String[] args) { double a[][] = {{3.0, 1.5}, {3.2, 3.7}}; double b[][] = {{1.0, 1.0}, {2.0, -7.4}}; double c[][] = {{1.0, 3.0, 4.5}, {5.6, 4.3, 5.3}}; Matriz A = new Matriz(a); Matriz B = new Matriz(b); Matriz C = new Matriz(c); Matriz D = new Matriz(); System.out.println("Suma:"); A.visualizaLN(); C.visualizaLN(); D.suma(A, C); A.visualizaLN(); B.visualizaLN(); D.suma(A, B); D.visualizaLN(); } }