# PBinfo #1313 – Produs_Matrice – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Cerința
Se dau dimensiunile a două matrice, A și B și valorile acestora. Calculați produsul lor .

Date de intrare
Fișierul de intrare produs_matrice.in conține pe prima linie numerele m n, apoi începând cu următoarea linie matricea A de dimensiuni (m,n) . Pe linia m+2 numărul p, apoi matricea B de dimensiuni (n,p) .

Date de ieșire
Fișierul de ieșire produs_matrice.out va conține matricea C , construită pe baza cerinței .

Restricții și precizări

1 ≤ n , m , p ≤ 100
 -10.000 ≤ A[i][j] , B[i][j] ≤ 10.000 

Exemplu:
produs_matrice.in

2 3
1 -2 3
0 1 -1
2
3 1
-1 -1
0 1
produs_matrice.out

5 6 
-1 -2 
Explicație
Dacă se înmulțeste A cu B și rezultatul se află în C , atunci elementul C[i][j] reprezintă suma de produse dintre elementele de pe linia i a matricei A cu elementele de pe coloana j a matricei B. Având exemplul nostru , luăm C[1][2] = A[1][1] * B[1][2] + A[1][2] * B[2][2] + A[1][3] * B[3][2].

## Cod sursă C++

```cpp
#include <fstream>
using namespace std ;
ifstream f ("produs_matrice.in") ;
ofstream g ("produs_matrice.out") ;
int A[105][105] , B[105][105] ;
long long C[105][105] ;
int main ()
{
 //citim
 int m , n , p ;
 f >> m >> n ;
 for ( int i = 1 ; i <= m ; ++i )
    for ( int j = 1 ; j <= n ; ++j )
        f >> A[i][j] ;
 f >> p ;
 for ( int i = 1 ; i <= n ; ++i )
    for ( int j = 1 ; j <= p ; ++j )
        f >> B[i][j] ;
 //calculam produsul
 for ( int i = 1 ; i <= m ; ++i )
    for ( int j = 1 ; j <= p ; ++j )
        for ( int k = 1 ; k <= n ; ++k )
            C[i][j] = C[i][j] + A[i][k] * B[k][j] ;
 //afisam
 for ( int i = 1 ; i <= m ; ++i )
    {
     for ( int j = 1 ; j <= p ; ++j )
        g << C[i][j] << " " ;
     g << "\n" ;
    }
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1313)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1313/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1313/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
