
24/02/2005, 15:22
|
| | Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 20 años, 2 meses Puntos: 0 | |
Cómo escribir dos matrices para leerlas por ficheros. Wenas de nuevo!!
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:
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);
}
}
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!!
P.D: El programa está totalmente perfecto y sin errores por si alguien tiene alguna duda con alguno similar ;).
Última edición por Riskbreaker; 24/02/2005 a las 15:24 |