Concetti Chiave
- Il codice include la definizione di una matrice con dimensione massima di 50x50, utilizzando la direttiva #define MAX 50.
- Funzioni come Caricamento, Stampa e ProdottoMatrici gestiscono rispettivamente il caricamento, la stampa e il calcolo del prodotto di matrici.
- Nel main, vengono richieste le dimensioni delle due matrici e vengono caricate con valori immessi dall'utente.
- Il prodotto delle matrici viene calcolato solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda.
- Il codice presenta errori sintattici come l'uso di "cin>>" e parti di codice mancanti nella funzione di stampa.
#include
#define MAX 50
using namespace std;
int chiedidimensione();
void Caricamento(int matr[MAX][MAX], int r, int c);
void Stampa(int matr[MAX][MAX],int r,int c);
void ProdottoMatrici(int M1[MAX][MAX], int M2[MAX][MAX], int r, int c2, int r2);
int main()
{
int r, c, r2, c2;
int mat1[MAX][MAX], mat2[MAX][MAX];
cout
r=chiedidimensione();
cout
c=chiedidimensione();
Caricamento(mat1, r, c);
cout
r2=chiedidimensione();
cout
c2=chiedidimensione();
Caricamento(mat2, r2, c2);
if (c==r2) {
ProdottoMatrici(mat1, mat2, r, c2, r2);
}
return 0;
}
int chiedidimensione()
{
int d;
do{
cin>>d;
}while(dMAX);
return d;
}
void Caricamento(int matr[MAX][MAX], int r, int c){
cout
for(int x=0; x
}
}
cout
Stampa(matr,r,c);
}
void Stampa(int matr[MAX][MAX],int r,int c){
for(int x=0;x
}
void ProdottoMatrici(int M1[MAX][MAX], int M2[MAX][MAX], int r, int c2, int r2){
int M3[MAX][MAX];
for (int i = 0; i
for (int j = 0; j
M3[j] = 0;
for (int k = 0; k
M3[j] += M1[k] * M2[k][j];
}
cout
Stampa(M3, r, c2);
}