Multiplicar matrices 2*2 en java

Quiero molestarte preguntándote si por casualidad tienes un programa en el cual se multipliquen matrices de 2 por 2, la idea es que pida los datos de las matrices al usuario por pantalla multiplique las dos matrices y entregue por pantalla la respuesta.
Gracias, la verdad tengo un parcial el lunes sobre varios programitas pero este no me ha quedado bien.

1 respuesta

Respuesta
1
Lamento la demora, los fines de semana no trabajo ... :)
Espero que no sea demasiado tarde, el código de la clase es:
import java.io.*;
public class Mmatriz{
//Implementa métodos para llenar y multiplicar 2 matrices NxN (2x2)
//Rogers R.- 2003
private static float[][] M1; //Matriz 1
private static float[][] M2; //Matriz 2
private static float[][] R; //Matriz Resultante
private static int N = 2; //Orden de las Matrices
public static void main(String args[]) throws IOException{
M1 = new float[N][N];
M2 = new float[N][N];
R = new float[N][N];
System.out.print("Captura de Valores\n");
System.out.print("Valores para Matriz 1\n");
IngresaDatos(M1);
System.out.print("\nValores para Matriz 2\n");
IngresaDatos(M2);
System.out.println("Captura finalizada");
System.out.print("\nMatriz 1:\n");
Imprime(M1);
System.out.print("\nMatriz 2:\n");
Imprime(M2);
Multiplica();
System.out.print("\nMatriz Resultante:\n");
Imprime(R);
System.out.println();
}
//Metodo para cargar los datos en las matrices
public static void IngresaDatos(float m[][]) throws IOException{
String cad; //Para almacenar capura de teclado
//Define LeeBuf para capturar teclado
BufferedReader LeeBuf = new BufferedReader(new InputStreamReader(System.in));
//Llena Matriz
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++){
System.out.print("Ingrese valor [" + (i + 1) + "," + (j + 1) + "]: ");
cad = LeeBuf.readLine(); //Lee línea y la almacena en cad
m[j] = Float.parseFloat(cad); //Convierte cad a float y lo almacena en m[i, j]
} //Cierra for
} //Cierra IngresaDatos
//Método que calcula la Multiplicación de las dos matrices
public static void Multiplica()
{
float suma;
for(int i = 0; i < N; i++){ //Inicia ciclo filas
for(int j = 0; j < N; j++){ //Inicia ciclo columnas
suma = 0;
for(int k = 0; k < N; k++){ //Ciclo interno para las sumatorias
suma += M1[k] * M2[k][j];
}
R[j] = suma;
}
}
}
public static void Imprime(float m[][])
{
for(int i = 0; i < N; i++){
for(int j = 0; j < N; j++){
System.out.print(m[j] + " ");
}
System.out.print("\n");
}
}
}//Fin clase Mmatriz
Un poquitín extenso para hacer tan poco ... pero así es Java.
Está hecho en el Java de Sun ... espero no tengas problemas si estás trabajando con el de Microsoft.
Lo copias en un archivo que debes llamar "Mmatriz.java"
Suerte !
Rogers R.
Agradeciéndole su respuesta, hola Rogers te estoy inmensamente agradecida, eres muy lindo en tomarte la molestia de responder mis preguntas.
De nuevo muchas gracias y estaremos en contacto.
Gatalis

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas