// Calcolo del prodotto tra matrici #include #include #include using namespace std; #define NR 2 #define NC 3 // definisco una function per scrivere a video una matrice void scrivimatrice( double A[NR][NC] ){ for (int i = 0; i < NR; i++) { for (int j = 0; j < NC; j++) { cout << A[i][j] << " "; } cout << endl; } } // definisco una function per leggere una matrice da un file int leggimatrice( char nomefile[] , double matrix[NR][NC] ){ fstream f1; f1.open(nomefile,ios::in); for (int i = 0; i < NR; i++) { for (int j = 0; j < NC; j++) { f1 >> matrix[i][j]; } } if ( f1.fail() ) { cout << "Errore nell'apertura di " << nomefile << " ==> Esco" << endl; return -1 ; } f1.close(); return 0; } int main() { double A[NR][NC]; double B[NC][NC]; double C[NR][NC]; int lettura; // mi serve per verificare che la lettura sia ok // Lettura delle matrici da file lettura = leggimatrice( "matrice1.dat",A ); if (lettura == -1 ) return -1; lettura = leggimatrice( "matrice2.dat",B ); if (lettura == -1 ) return -1; // Scrittura delle matrici cout <<"La matrice A" << endl; scrivimatrice( A ); cout <<"La matrice B" << endl; scrivimatrice( B ); // Calcolo della matrice somma e sua scrittura for (int i = 0; i < NR; i++) { for (int j = 0; j < NC; j++) { C[i][j] = A[i][j]+B[i][j]; } } cout << "La matrice somma e`:" << endl; scrivimatrice( C ); return 0; }