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]
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Produs_Matrice:
#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" ;
}
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1313 Produs_Matrice
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1313 Produs_Matrice de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!