Πολλαπλασιασμός πινάκων στη C++

Παράδειγμα πολλαπλασιασμού πινάκων.

$$ \mathbf{C} = \mathbf{A} \mathbf{B} = \begin{bmatrix} 3 & 1 & 1 & 4 \\ 2 & 1 & 5 & 4 \\ 0 & 2 & 4 & 1 \end{bmatrix} \begin{bmatrix} 8 & 1 \\ 2 & 1 \\ 6 & 4 \\ 1 & 7 \end{bmatrix} = \begin{bmatrix} 36 & 36 \\ 52 & 51 \\ 29 & 25 \end{bmatrix} $$

#include <iostream>

using namespace std;

int main()
{
  // ορισμός δεδομένων
  int a[3][4] = {{3,1,1,4}, {2,1,5,4}, {0,2,4,1}};
  int b[4][2] = {{8,1}, {2,1}, {6,4}, {1,7}};
  int c[3][2];
  int i, j, k;

  // πολλαπλασιασμός πινάκων
  for (i=0; i < 3; i++)
  {
    for (k=0; k < 2; k++)
    {
      c[i][k] = 0;
      for (j=0; j < 4; j++)
      {
        c[i][k] += a[i][j] * b[j][k];
      }
    }
  }
  
  // εκτύπωση του αποτελέσματος
  for (i=0; i < 3; i++)
  {
    for (k=0; k < 2; k++)
    {
      cout << c[i][k] << "\t";
    }
    cout << endl;
  }
  
  return 0;
    
}

Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.

Creative Commons License
Εκπαιδευτικό υλικό από τον Αθανάσιο Σταυρακούδη σας παρέχετε κάτω από την άδεια Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.