/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class matriz {
public int n; // dimension de la matriz
private double[][] x; //array bidimensional
//crea una matriz de "n" elementos con ceros
public matriz(int n) {
this.n = n;
x = new double[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
x[i][j]=0.0;
}
}
}
//crea una matriz con un array bidimensional pasado como parametro
public matriz(double[][] x) {
this.x=x;
n=x.length;
}
//muestra en pantalla a la matriz
public String mostrar(){
String texto="\n";
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
// tabulador "\t" y se limita el numero de decimales a tres
texto+="\t "+(double)Math.round(1000*x[i][j])/1000;
}
//cuando se alcanza el final de la linea se inserta un retorno de carro
texto+="\n";
}
texto+="\n";
return texto;
}
public matriz suma(matriz a, matriz b){
matriz resultado=new matriz(a.n);
for(int i=0; i<a.n; i++){
for(int j=0; j<a.n; j++){
resultado.x[i][j]=a.x[i][j]+b.x[i][j];
}
}
return resultado;
}
public matriz producto(matriz a, matriz b){
matriz resultado=new matriz(a.n);
for(int i=0; i<a.n; i++){
for(int j=0; j<a.n; j++){
for(int k=0; k<a.n; k++){
resultado.x[i][j]+=a.x[i][k]*b.x[k][j];
}
}
}
return resultado;
}
}
Para ejecutar el programa:
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class Main {
public static void main(String[] args) {
double[][] a1={{2, 0, 1},{3,0,0},{5,1,1}};
matriz a=new matriz(a1);
double[][] a2={{1, 0, 1},{1,2,1},{1,1,0}};
matriz b=new matriz(a2);
System.out.println("Matriz A: " + a.mostrar());
System.out.println("Matriz B: " + b.mostrar());
matriz re = a.suma(a, b);
System.out.println("Suma "+re.mostrar());
matriz re2 = a.producto(a, b);
System.out.println("Producto "+re2.mostrar());
}
}
El resultado:
2 comentarios:
amigo no entiendo algo me dice un error en la parte de la multiplicacion mas especificanmente aki
matriz resultado=new matriz(a.n);
no sabe porke gracias
Hola amigo, quiero preguntar algo, si la calculadora tiene interfaz corre menos rápido que una sin la interfaz?
Publicar un comentario