Mostrando entradas con la etiqueta multiplicación de matrices. Mostrar todas las entradas
Mostrando entradas con la etiqueta multiplicación de matrices. Mostrar todas las entradas

jueves, 6 de mayo de 2021

Multiplicación de matrices en lenguaje Java

/* Aquest fitxer Matrius.java cal que estigui
ubicat dins la mateixa carpeta que el fitxer
amb les classes auxiliars

 Es compila fent
%javac Matrius.java
per obtenir el fitxer Matrius.class

I, finalment, s'engega fent
%java Matrius
*/

 
import java.io.*;
public class ProvaMatrius{ 

// aquest programa fa ús dels mètodes de la classe Matrius (Matrius.java)

  public static void main(String args[]) throws IOException {
    // inicialitzem una matriu 2x2 (cal canvira el valors
    // per poder treballar amb una matriu de diferent grandària
    int mtr[][]={{0,0},{0,0}};
    int nf=2; //nombre de files
    int nc=2; //nombre de columnes

    Matrius m = new Matrius();
    m.demanaMatriu(mtr,nf,nc);
    System.out.println("= = = the input matrix is:");
    m.mostraMatriu(mtr,nf,nc);
  }
}

Multiplicación de matrices en lenguaje Java

/* Aquest fitxer ProvaMatrius.java, amb les classes auxiliars, cal que estigui
ubicat dins la mateixa carpeta que la classe principal

 Es compila fent
%javac ProvaMatrius.java

per obtenir el fitxer ProvaMatrius.class
*/

import java.io.*;

public class Matrius{

 public void demanaMatriu (int matriu[][], int nfiles, int ncolumnes ){
  int i,j;
  String text;

  InputStreamReader flux=new InputStreamReader(System.in);
  BufferedReader teclat=new BufferedReader(flux);

  try{
    for (i=0;i<nfiles;i++){
      for (j=0;j<ncolumnes;j++){
        System.out.print(" (" + i + "," + j +")=");
        text=teclat.readLine();
        matriu[i][j]=(Integer.valueOf(text)).intValue();
        }
      System.out.println(" ");
     }
  }catch (Exception e){
    System.out.println(e.getMessage());
  }
 }

 public void mostraMatriu (int matriu[][], int nfiles, int ncolumnes ){
  int i,j;
 
    for (i=0;i<nfiles;i++){
      for (j=0;j<ncolumnes;j++){
        System.out.print(matriu[i][j]+" ");
        }
      System.out.println(" ");
     }
  }


public void multiplicaMatrius (int matriu1[][], int nfiles1, int ncolumnes1, int matriu2[][], int nfiles2, int ncolumnes2, int matriu3[][], int nfiles3, int ncolumnes3){
  int i,j,k,s;
 
    for (i=0;i<nfiles1;i++){
      for (j=0;j<ncolumnes2;j++){
        s=0;
        for (k=0;k<ncolumnes2;k++){
          s+=matriu1[i][k]*matriu2[k][j]; 
        }
       matriu3[i][j]=s;
     }
  }
}
}