domingo, 18 de octubre de 2009

MULTIPLICACION DE MATRICES

MULTIPLICACION

/**
*
* @author JoHaNa RuAlEs
*/
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 < numeroFilas; i++)
for(int j=0; j < numeroColumnas; j++)
matriz[i][j]=0;
}

//MULTIPLICACION

public Matriz multiplicacion(Matriz b){
Matriz resultado;
int suma=0;
int resta;
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]);
}
}
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 < numeroFilas; i++){
for(int j=0; j < numeroColumnas; j++){
aux+=matriz[i][j]+" ";
}
aux+="\n";
}
aux+="]";
return aux;
}
}

USO MATRIZ

/**
*
* @author User
*/
public class PruebaMatriz {
public static void main(String args[]){
Matriz a = new Matriz(3,2);
a.matriz[0][0]=1; a.matriz[0][1]=2;
a.matriz[1][0]=3; a.matriz[1][1]=4;
a.matriz[2][0]=5; a.matriz[2][1]=6;
System.out.println(a.toString());

Matriz b = new Matriz(2,3);
b.matriz[0][0]=7; b.matriz[0][1]=8; b.matriz[0][2]=9;
b.matriz[1][0]=10; b.matriz[1][1]=11; b.matriz[1][2]=12;
System.out.println(b.toString());

Matriz c;
c=a.multiplicacion(b);
System.out.println(c.toString());
}

}

7 comentarios:

  1. Hola, tu programa esta muy bien pero tengo una duda, creo que en los for que utilizas si abres paréntesis deberías cerrarlos
    or(int i=0; i
    for(int j=0; j
    tu los tienes así:

    Es lo único que no entiendo, lo demas está bien.

    ResponderEliminar
  2. bueno te felicito tienes unos programas muy bien realizados me sirvieron de gran ayuda

    ResponderEliminar
  3. los for estan cerrados solo que el rato de publicar el archivo se abren automaticamente por error de escritura

    gracias!!!jeje

    ResponderEliminar
  4. Hola brujis!! creo que debes realizar la presentacion de tu for cerrandolos y completando lo que vas a poner en esa funcion...

    ResponderEliminar
  5. for(int i=0; i for(int j=0; j matriz[i][j]=0;
    yo creo que debes cerra los parentesis .............ja ja

    ResponderEliminar
  6. Yo tenía el mismo error, tienes que dar espacios entre los símbolos de < y > y las letras porque sino la entrada no se publica bien

    ResponderEliminar
  7. for(int i=0; i < numeroFilas; i++)
    for(int j=0; j < numeroColumnas; j++)
    crea que tienes que utilizar una { ya que escribes mas de una linea

    ResponderEliminar