//MULTILICAR 2 MATRICES
import java.util.Random;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class MultiplicaMatrizAleatoria{
public static void main (String args[]){
Random r=new Random();
Scanner in=new Scanner(System.in);
// System.out.println("ingrese numero de filas de la primera matriz");
// int x1=in.nextInt();
String x = JOptionPane.showInputDialog(null,"ingrese numero de filas de la primera matriz");
int x1 = Integer.parseInt(x);
// System.out.println("ingrese numero de columnas de la primera matriz");
// int z1=in.nextInt();
String xa = JOptionPane.showInputDialog(null,"ingrese numero de columnas de la primera matriz");
int z1 = Integer.parseInt(xa);
// System.out.println("ingrese numero de filas de la segunda matriz");
// int x2=in.nextInt();
String xb = JOptionPane.showInputDialog(null,"ingrese numero de filas de la segunda matriz");
int x2 = Integer.parseInt(xb);
// System.out.println("ingrese numero de columnas de la segunda matriz");
// int z2=in.nextInt();
String ax = JOptionPane.showInputDialog(null,"ingrese numero de olumnas de la segunda matriz");
int z2 = Integer.parseInt(ax);
int[][] m1=new int[x1][z1];
int[][] m2=new int[x2][z2];
int[][] mR=new int[x1][z2];
System.out.println("La matriz 1");
for(int i=0;i<x1;i++){
System.out.print("[ ");
for(int j=0;j<z1;j++){
m1[i][j]=r.nextInt(9);
System.out.print(m1[i][j]+" ");
}
System.out.print("]");
System.out.println("");
}
System.out.println("La matriz 2");
for(int i=0;i<x2;i++){
System.out.print("[ ");
for(int j=0;j<z2;j++){
m2[i][j]=r.nextInt(9);
System.out.print(m2[i][j]+" ");
}
System.out.print("]");
System.out.println("");
}
if(z1==x2){
System.out.println("La matriz resultante es: ");
for(int i=0;i<x1;i++){
System.out.print("[ ");
for(int j=0;j<z2;j++){
for(int h=0;h<z1;h++){
mR[i][j]+=m1[i][h]*m2[h][j];
//aqui se multiplica cada columnas i de matriz1 *por* cada fila de matriz2
//el resultado de cada multiplicacion se ira sumando asta dar el resultado total de
//cada columna *fila completa por eso el +=
}
System.out.print(mR[i][j]+" ");
}
System.out.print("]");
System.out.println("");
}
}
else{
System.out.println("Los rangos de las matrices son incorrectos");
}
}
}
--------------------Configuration: <Default>--------------------
La matriz 1
[ 7 0 ]
[ 2 7 ]
La matriz 2
[ 5 5 7 7 3 7 ]
[ 3 7 3 7 2 2 ]
La matriz resultante es:
[ 35 35 49 49 21 49 ]
[ 31 59 35 63 20 28 ]
Process completed.
No hay comentarios:
Publicar un comentario