lunes, 30 de marzo de 2009

Traspuesta, inversa

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

public Matriz(){}

public Matriz(int nF, int nC){
numeroFilas = nF;
numeroColumnas = nC;
matriz = new double[numeroFilas][numeroColumnas];
for(int i=0;i for(int j=0;j matriz[i][j] = 0;
}

public String imprimir(){
String aux ="";

for(int i=0;i for(int j=0;j aux = aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}

public Matriz suma(Matriz B){
if ((this.numeroFilas == B.numeroColumnas)&(this.numeroColumnas == B.numeroFilas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i=0;i for(j=0;j r.matriz[i][j]=this.matriz[i][j]+B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System.out.println("No se puede sumar las matrices");
return r;
}
}

public Matriz resta(Matriz B){
if ((this.numeroFilas == B.numeroColumnas)&(this.numeroColumnas == B.numeroFilas)){
Matriz r = new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
for(int i=0;i for(j=0;j r.matriz[i][j]=this.matriz[i][j]-B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System.out.println("No se puede restar las matrices");
return r;
}
}

public Matriz transpuesta(){
Matriz r = new Matriz(this.numeroColumnas,this.numeroFilas);
int j;
for(int i=0;i for(j=0;j r.matriz[i][j] = this.matriz[j][i];
return r;
}

public static void main(String args[]){
Matriz m = new Matriz(3, 3);
m.matriz[0][0]=1;
m.matriz[1][1]=3;
m.matriz[2][2]=5;
System.out.println(m.imprimir());

Matriz b = new Matriz(3,3);
b.matriz[0][0]=1;b.matriz[0][1]=2;b.matriz[0][2]=3;
b.matriz[1][1]=4;b.matriz[1][2]=5;
b.matriz[2][2]=6;
System.out.println(b.imprimir());

Matriz resultado;
resultado = m.suma(b);
System.out.println(resultado.imprimir());

Matriz resultado1;
resultado = m.resta(b);
System.out.println(resultado.imprimir());


resultado = m.transpuesta();
System.out.println(resultado.imprimir());
}

}

1 comentario: