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 de rogersr
1
1
rogersr, Ingeniero de Sistemas Especialista en Teleinformática Programador...
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