Programmieren - alles kontrollieren 4.937 Themen, 20.647 Beiträge

Matrizenmultiplikationsalgorithmus

leon26 / 2 Antworten / Flachansicht Nickles

Hi ich hab ein kleines Programm in C geschrieben das zwei Matritzen miteinander multipliziert .aber das Programm ist viel zu umständig.


int main()
{
 int a[2][2]={1,5,2,3};
 int b[2][3]={4,1,2,1,0,3};
    int c[2][3];
   
 c[0][0]=a[0][0]*b[0][0]+a[0][1]*b[1][0];
 c[0][1]=a[0][0]*b[0][1]+a[0][1]*b[1][1];
    c[0][2]=a[0][0]*b[0][2]+a[0][1]*b[1][2];


    c[1][0]=a[1][0]*b[0][0]+a[1][1]*b[1][0];
    c[1][1]=a[1][0]*b[0][1]+a[1][1]*b[1][1];
    c[1][2]=a[1][0]*b[0][2]+a[1][1]*b[1][2];


   printf("%d  %d  %d\n%d %d  %d\n\n",c[0][0],c[0][1],c[0][2],c[1][0],c[1][1],c[1][2]);


return 0;
}


Die frage ist wie kann man das einfacher und übersichtlicher machen?


für euer vorschläge bin ich sehr dankbar

bei Antwort benachrichtigen
Borlander leon26 „Matrizenmultiplikationsalgorithmus“
Optionen

Mit 2 verschachtelten Schleifen die Elemente der Ergebnismatrix durchlaufen und mit einer weiteren Schleife das einzelne Ergebnis bestimmen (einfach aber sehr schlechte Laufzeit, speziell bei größeren Matrizen). Gibt einen besseren Algorithmus aber der wird sicher etwas aufwendiger zu implementieren sein - mit Google wird der sicher zu finden sein...

Gruß
Borlander

bei Antwort benachrichtigen