A ver mi problema es el siguiente. Tengo que hacer que mi programa lea dos matrices por ficheros y que las multiplique y muestre el resultado. Entonces, siguiendo el consejo de un compañero, saqué esto:
Código:
Mi problema es que quien me ayudó no me especificó de qué forma tengo que escribir las matrices en el .txt. Y ante esta maraña me cuesta bastante averiguarlo. ¿Alguien me podría echar una mano? Muchas gracias!!import java.io.*; public class ProductodeMatrices { void leer(String fichero, int[][] m1, int[][] m2,int nf,int nc) throws Exception { BufferedReader L=new BufferedReader(new FileReader(fichero)); String linea; for (int fila=0; fila<nf; fila++) for(int columna=0; columna<nc; columna++) { linea=L.readLine(); m1[fila][columna]=Integer.parseInt(linea); } for (int fila=0; fila<nf; fila++) for(int columna=0; columna<nc; columna++) { linea=L.readLine(); m2[fila][columna]=Integer.parseInt(linea); } } void multiplica(int[][] m1,int[][] m2, int[][] res,int nf,int nc) { int cont; for (int fila=0; fila<nf; fila++) { for(int columna=0; columna<nc; columna++) { cont=0; for(int i=0;i<nc;i++) { cont+=m1[fila][i]*m2[i][columna]; } res[fila][columna]=cont; } } } void escribir(int[][] n,int nf,int nc) { for (int fila=0; fila<nf; fila++) { for(int columna=0; columna<nc; columna++) { System.out.print(n[fila][columna]+" "); } System.out.println(""); } System.out.println(""); } public static void main ( String [] args) throws Exception { BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); ProductodeMatrices objeto = new ProductodeMatrices(); int[][] m1 = new int[4][4]; int[][] m2 = new int[4][4]; int[][] res = new int[4][4]; objeto.leer("datos.txt",m1,m2,4,4); objeto.multiplica(m1,m2,res,4,4); objeto.escribir(m1,4,4); objeto.escribir(m2,4,4); objeto.escribir(res,4,4); } }
P.D: El programa está totalmente perfecto y sin errores por si alguien tiene alguna duda con alguno similar ;).