lunes, 23 de septiembre de 2024

■ Pascal_016 ► Multiplicación de dos matrices m*m

Ejercicio 016: Multiplicar dos matrices mxm.

Entrada: Dos matrices m*m, donde m = 3.

Salida: Las matrices multiplicadas.


Program Pascal_016;
uses
    crt;
var
    filas, columnas, i, j, k, res, m: integer;
    matrizA : array[1..3,1..3] of integer;
    matrizB : array[1..3,1..3] of integer;
    matrizAB : array[1..3,1..3] of integer;
Begin
    m := length(matrizA);
    WriteLn('Las matrices serán ', m, '*', m);
    filas := length(matrizA);
    columnas := length(matrizA);
  
    {Se llenan las matrices}
    WriteLn('Ingresa los números de las matrices');
  
    WriteLn('Matriz A');
    for i:= 1 to filas do
    begin
        for j:=1 to columnas do
        begin
            WriteLn('Ingresa el valor de ', i, '-', j);
            ReadLn(matrizA[i][j]);
        end;
    end;
  
    WriteLn('Matriz B');
    for i:= 1 to filas do
    begin
        for j:=1 to columnas do
        begin
            WriteLn('Ingresa el valor de ', i, '-', j);
            ReadLn(matrizB[i][j]);
        end;
    end;
  
    {Se multiplican las matrices}
    for i:= 1 to filas do
    begin
        for j:=1 to columnas do
        begin
            res := 0;
            for k:=1 to filas do
            begin
                res := res + matrizA[i][k] * matrizB[k][j];
            end;
            matrizAB[i][j] := res;
        end;
    end;
  
    {Se muestra la matriz multiplicada}
    WriteLn('Matriz A*B');
    for i:= 1 to filas do
    begin
        for j:=1 to columnas do
        begin
            Write(matrizAB[i][j], ' - ');
        end;
        WriteLn();
    end;
    ReadKey();
end.

No hay comentarios:

Publicar un comentario