domingo, 25 de octubre de 2009

MULTIPLICACION DE MATRICES

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public int [][]matriz;

public Matriz(){//crear una matriz sin dimensiones
}

public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz=new int [numeroFilas][numeroColumnas];

for(int i=0; i for(int j=0; j matriz[i][j]=0;
}

//MULTIPLICACION

public Matriz multiplicacion(Matriz b){
Matriz resultado;
if(this.numeroFilas == b.numeroColumnas) {
resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
for(int i=0; i for(int j=0; j for(int k=0; k resultado.matriz[i][j]+=(this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

public String toString(){
String aux="\n[\n";
for(int i=0; i for(int j=0; j aux+=matriz[i][j]+" ";
}
aux+="\n";
}
aux+="]";
return aux;
}
}

2 comentarios:

  1. El codigo esta bien pero no te descuides de los parentesis y punto y como porque sino no te va a correr el programa por ejemplo aqui:

    for(int i=0; i for(int j=0; j aux+=matriz[i][j])+" ");

    ResponderEliminar
  2. La multiplicacion te has confundido con la suma eso no de hace asi tienes que utilizar 3 for para eso te puedo ayudar con el codigo

    if((this.numeroFilas == b.numeroColumnas) {
    resultado=new Matriz(this.numeroFilas,b.numeroColumnas);
    for(int i=0; i < this.numeroFilas; i++){
    for(int j=0; j < b.numeroColumnas; j++){
    for(int k=0; k < this.numeroColumnas; k++)
    resultado.matriz[i][j]=(this.matriz[i][k]*b.matriz[k][j]);

    espero que te sirva

    ResponderEliminar