Matrixmultiplikation mit EINdimensionalen Arrays



  • Hallo Forumsleute,

    ich möchte eine Matrixmultiplikation mit eindimensionalen Arrays durchführen. Ein solches Array ist in meiner Klasse wie folgt zu verstehen: nxn-Matrix A:
    A={A[1,1], ..., A[1,n],
    A[2,1], ..., A[2,n],
    .
    .
    .
    A[1,1], ..., A[n,n]}
    D.h. die Matrix wird zeilenweise aufgeschrieben.

    Meine Matrixmultiplikation, die leider noch ein falsches Ergebnis dafür liefert, sieht sinngemäß für Matrizen C=A*B folgendermaßen aus:

    [cpp]
      for (int i=0; i<n; i++) {
          for (int j=0; j<n; j++) {
              for (int k=0; k<A.n; k++) {   
                  C[j+i*n] += A[k+i*n] * B[k+k*n+j];
              }
          }
      }
    [/cpp]
    

    Sieht jemand von euch, welchen Fehler ich mache?
    Compilieren lässt es sich, es gibt nur leider bei Multiplikation mit einer Nullmatrix als letzten Eintrag einen ungleich Null.

    Danke schonmal!



  • Ok, hab den Fehler gefunden.



  • Und wie war denn dein Fehler??


Anmelden zum Antworten