Producto de Matrices y Ejemplo en C++

Si estás aprendiendo C++, !esta es una excelente oportunidad para continuar mejorando!

Hoy aprenderemos cómo se realiza un producto de matrices, y cómo implementar un programa sobre ello en C++.

Suma de matrices

El producto de 2 números es la multiplicación directa entre ellos.

La suma de matrices también es una operación directa, donde cada posición de A se suma con su coincidencia en la matriz B.

Suma de matrices

La matriz resultante C tiene la misma cantidad de filas y columnas, que tienen A y B.

Producto de matrices

Pero el producto de matrices es diferente:

No consiste simplemente multiplicar cada elemento [i][j] de una matriz A por un elemento en la misma posición en la matriz B.

El producto de matrices tiene cierta peculiaridad, a diferencia de la suma y resta entre matrices.

El producto de matrices consiste en multiplicar cada elemento de una fila en A, con cada elemento de una columna en B.

Producto de matrices

Programa en C++

A continuación presentamos el código y además un video explicativo que detalla paso a paso la elaboración del programa:

/*
A con k filas y m columnas,
B con m filas y n columnas.
C es la matriz que resulta del producto AB.
C presenta k filas y n columnas.

C[i][j] = A[i][0] * B[0][j] + A[i][1] * B[1][j] + A[i][2] * B[2][j]
+ ... + A[i][m-1] * B[m-1][j]
*/

#include <iostream>
using namespace std;

int main()
{
    int A[20][20], B[20][20], C[20][20];
    int k, m, n;

    cout<<"Lectura de matriz A."<<endl;
    cout<<"Filas de A: "; cin>>k;
    cout<<"Columnas de A: "; cin>>m;
    cout<<endl;
    for(int i=0; i<k; ++i)
        for(int j=0; j<m; ++j)
        {
            cout<<"Ingrese valor para A["<<i<<"]["<<j<<"]: ";
            cin>>A[i][j];
        }

    cout<<"Lectura de matriz B."<<endl;
    cout<<"Filas de B: "<<m<<" (ya esta definido y es necesario)."<<endl;
    cout<<"Columnas de B: "; cin>>n;
    cout<<endl;
    for(int i=0; i<m; ++i)
        for(int j=0; j<n; ++j)
        {
            cout<<"Ingrese valor para B["<<i<<"]["<<j<<"]: ";
            cin>>B[i][j];
        }

    // Inicializamos la matriz C.
    for(int i=0; i<k; ++i)
        for(int j=0; j<n; ++j)
            C[i][j] = 0;

    // Generamos la matriz C.
    for(int i=0; i<k; ++i)
        for(int j=0; j<n; ++j)
            for(int z=0; z<m; ++z)
                C[i][j] += A[i][z] * B[z][j];

    cout<<"Matriz A: ";
    for(int i=0; i<k; ++i)
    {
        for(int j=0; j<m; ++j)
        {
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }

    cout<<"Matriz B: ";
    for(int i=0; i<m; ++i)
    {
        for(int j=0; j<n; ++j)
        {
            cout<<B[i][j]<<" ";
        }
        cout<<endl;
    }

    cout<<"Matriz C: ";
    for(int i=0; i<k; ++i)
    {
        for(int j=0; j<n; ++j)
        {
            cout<<C[i][j]<<" ";
        }
        cout<<endl;
    }

    return 0;
}

Para ver el video sólo haz clic a continuación 🙂:

# cplusplus # algebra lineal

Logo de Programación y más

Comparte este post si te fue de ayuda 🙂.

Regístrate

Accede a todos los cursos, y resuelve todas tus dudas.

Cursos Recomendados

Imagen para el curso Laravel y Android

Laravel y Android

Curso intensivo. Incluye el desarrollo de una API, su consumo, y autenticación vía JWT. También vemos Kotlin desde 0.

Iniciar curso
Imagen para el curso Aprende Javascript

Aprende Javascript

Domina JS con este curso práctico y completo! Fundamentos, ejemplos reales, ES6+, POO, Ajax, Webpack, NPM y más.

Iniciar curso
Imagen para el curso Docker y Microservicios

Docker y Microservicios

Aprende por qué es importante y cómo funciona Docker, con este nuevo curso práctico!

Iniciar curso

Espera un momento ...

¿Te gustaría llevar mi curso de Laravel, gratis?

Sólo debes ingresar tus datos: