Capturar webcam con VB.NET

¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]

Envío de correo con JavaMail/Netbeans

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]

Proyecto de base de datos Firebird VB

En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]

Imprimir imagen con Print

La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]

Code Army Bolivia

2/12/09

Ejericicio resuelto: Suma y Producto de matrices en java

JAN29

Desarrolle un programa orientado a objetos para realizar la suma y multiplicacion de matrices.

Suma de matrices

Producto de matrices
Respuesta: Primero creamos la clase "matriz.java" que nos permite el manejo de los metodos asi como la creacion de nuestra matriz, ya que el problema no especifica mas detalles se trabajara sobre la base de una matriz cuadrada nxn.


/**
 * @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;
    }      
}


La clase matriz.java esta compuesta por dos constructores matriz(int n) y matriz(double[][] x), la primera construye una matriz  de n-elementos los cuales inicializa en cero "0", el segundo constructor crea una matriz tomando como elementos los pasados por un array bidimensional.
Ademas la clase cuenta con el metodo mostrar(), la cual devuelve un String previamente formateada. Obviamente la clase tambien cuenta con los metodos suma(matriz a, matriz b) y producto(matriz a, matriz b), que devuelven como resultado una matriz.

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:

Anónimo dijo...

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

Unknown dijo...

Hola amigo, quiero preguntar algo, si la calculadora tiene interfaz corre menos rápido que una sin la interfaz?

Post recomendado