Ver Mensaje Individual
  #14 (permalink)  
Antiguo 07/09/2011, 21:01
morfeoson
 
Fecha de Ingreso: septiembre-2011
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Matrices En Java

esta es una pequeña variacion del que esta mas arriba, recuerda que para realizar la multiplicacion de matrices se debe cumplir que n=filas, m =columnas.
entonces A nm * B nm se pude realizar si An = Bm, es decir que el numero de filas de la matriz A es igual al numero de columnas de la matriz B. eso si disculpen lo tozco del codigo pero hasta ahora esto y dando mis primeros pasos con java, pero el programa funciona, lo probé en NetBeans. Salu2

import java.io.*;
public class Main {

static public int fil1 =0, fil2=0, col1=0, col2=0;
static int [][] matriz1, matriz2,matrizres;
static BufferedReader oa = new BufferedReader(new InputStreamReader(System.in));

static public void main(String[] args) throws IOException
{
ingresadatos();
If (fil1 != col2 || fil2 != col1)
{
System.out.println("error al asignar los tamaños de la matriz vuelva a intentarlo");
ingresadatos();
}else
armarmatices();
System.out.println( "Resultante----->");
multmatrices();
}

private static void multmatrices()
{
int i=0;
int j=0;
int k=0;
matrizres= new int[fil1][col2];
for(i=0; i<fil1; i++)
{
for(j=0; j<col2; j++)
{
for(k=0; k<col1; k++)
{
matrizres[i][j]=matrizres[i][j]+(matriz1[i][k]*matriz2[k][j]);
}
}
}
for (i=0; i<fil1; i++)
{
for (j=0;j<col2;j++)
{
System.out.print(matrizres[i][j] + "--- ");
}
System.out.println();
}
}





private static void armarmatices() throws IOException
{
int i=0;
int j=0;
matriz1= new int[fil1][col1];
matriz2= new int[fil2][col2];
System.out.println("Ingrese valores primera matriz:");
for(i=0; i<fil1; i++)
{
for(j=0; j<col1; j++)
{
System.out.println("Ingrese valor");
matriz1[i][j]=Integer.parseInt(oa.readLine());
}
}
System.out.println("Ingrese valores segunda matriz:");

for(i=0; i<fil2; i++)
{
for(j=0; j<col2; j++){
System.out.println("Ingrese valor");
matriz2[i][j]=Integer.parseInt(oa.readLine());
}
}
}
protected static void ingresadatos() throws IOException
{
fil1=0;
fil2=0;
col1=0;
col2=0;
System.out.println("Ingrese el numero de filas de la primera matriz");
fil1=Integer.parseInt(oa.readLine());
System.out.println("Ingrese el numero de columnas de la primera matriz");
col1=Integer.parseInt(oa.readLine());
System.out.println("Ingrese el numero de filas de la segunda matriz");
fil2=Integer.parseInt(oa.readLine());
System.out.println("Ingrese el numero de columnas de la segunda matriz");
col2=Integer.parseInt(oa.readLine());
}

}