jueves, 6 de mayo de 2021

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;
     }
  }
}
}

No hay comentarios:

Publicar un comentario