viernes, 27 de septiembre de 2024

■ C#_016 ► Multiplicar dos matrices m*m

Ejercicio 016: Multiplicar dos matrices m*m.

Entrada: Tamaño de las matrices A y B y llenado de las mismas.

Salida: Matriz multiplicada.


using System;

public class C_016 {
    public static void Main(string[] args) {
        int m, filas, columnas, res;
        Console.WriteLine("¿De qué tamaño serán las matrices?");
        m = int.Parse(Console.ReadLine());
        Console.WriteLine("Las matrices serán " + m + "*" + m);
        
        int[,] matrizA = new int[m,m];
        int[,] matrizB = new int[m,m];
        int[,] matrizAB = new int[m,m];
        
        filas = columnas = m;
        
        // Se llenan las matrices
        Console.WriteLine("Ingresa los números de las matrices");
        Console.WriteLine("Matriz A");
        for (int i=0; i < m; i++) {
            for (int j=0; j < m; j++) {
                Console.WriteLine("Ingresa el valor " + i + "-" + j);
                matrizA[i,j] = int.Parse(Console.ReadLine());
            }
        }
        Console.WriteLine("Matriz B");
        for (int i=0; i < m; i++) {
            for (int j=0; j < m; j++) {
                Console.WriteLine("Ingresa el valor " + i + "-" + j);
                matrizB[i,j] = int.Parse(Console.ReadLine());
            }
        }
        
        // Se multiplican las matrices
        for (int i=0; i < filas; i++) {
            for (int j=0; j < columnas; j++) {
                res = 0;
                for (int k=0; k < filas; k++) {
                    res += matrizA[i,k] * matrizB[k,j];
                }
                matrizAB[i,j] = res;
            }
            Console.WriteLine("\n");
        }
        // Se muestra la matriz multiplicada
        Console.WriteLine("MatrizAB");
        for (int i=0; i < filas; i++) {
            for (int j=0; j < columnas; j++) {
                Console.Write(matrizAB[i,j] + " \t");
            }
            Console.WriteLine();
        }
    }
}


■ En otros lenguajes:
     • Pseudocódigo
     • Java_016
     • Pascal_016

No hay comentarios:

Publicar un comentario