Foros del Web » Programación para mayores de 30 ;) » Java »

Cómo escribir dos matrices para leerlas por ficheros.

Estas en el tema de Cómo escribir dos matrices para leerlas por ficheros. en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/02/2005, 15:22
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:58.