viernes, 20 de noviembre de 2009

MATRIZ

public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
public Matriz(){}//nF es el numero de filas//nc es el numero de columnas
public Matriz(int nF, int nC){
numeroFilas = nF;
numeroColumnas = nC;
matriz = new double [numeroFilas][numeroColumnas];
for(int i=0; i<= numeroFilas; i++)
for(int j=0; j<= numeroColumnas ; j++)
matriz[i][j]=0;}//metodo de suma de matricespublic Matriz suma(Matriz b){Matriz resultado;//primero revisamos que las filas y las columnas sean iguales//
this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear

if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i<= this.numeroFilas; i++)
for(int j=0; j<= b.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;return resultado;}//metodo de multiplicacion de matrices//retorna una matriz resultado resta

public Matriz multiplicacion(Matriz b) {
Matriz resultado;
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;
}//devuelve el objeto matriz en texto para poderlo imprimir
}
public String toString(){
String aux="\n[\n";
for(int i=0; i<= this.numeroFilas; i++)
for(int j=0; j<= this.numeroColumnas; j++)
aux += matriz[i][j]+" ";
aux +="\n";aux+= "]";return aux;}
}

1 comentario:

  1. Panita tienes un problema,
    los comandos for que tu aplicas no se imprimen completos, lo mejor seria que des espacios antes de los signos de mayor o menor (> <)... mira:(i=0;i < b; i++) eso para que no te de problemas al rato de imprimir

    ResponderEliminar