Matrizenmultiplikation
-
Warum funktioniert folgendes Programm nicht?
Im Konsolenfenster werden viel zu kleine Werte angegeben./******************************************************************* *********************Matrizenmultiplikation************************* ******************************************************************** ********************************************************************/ // Thema: Matrizenmultiplikation // Datum: 11.07.2014 // Autor: Andreas Lauer # include<iostream> using namespace std; int main() { double matrix1[3][3]; double matrix2[3][3]; double c [3][3]; //Einlesen der Matrizen cout<<"Bitte geben Sie die erste 3x3 Matrix ein"<<endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cin>>matrix1[i][j]; } } cout<<"Bitte geben Sie die zweite 3x3 Matrix ein"<<endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cin>>matrix2[i][j]; } } //Ausgeben der Lösungsmatrix cout<<" Die Lösungmatrix ist "<<endl; for(int i=1;i<=3;i++) { for(int j=1;j<=3;j++) { c[i][j] = 0; for(int k=1;k<=3;k++) { c[i][j]+=matrix1[i][k]*matrix2[k][j]; } cout<<c[i][j]<<" "; } cout<<endl; } cout<<endl; return 0; }~(Edit v. Arcoth, Code-Tags)~
-
Die Indices eines Arrays mit Grösse
nsind im Bereich[0, n). D.h.,nselbst ist kein gültiger Index. Auf genau diesen greifst du aber zu in der Zeile 42.Edit:
Wieso schreibst duendlobwohl du eigentlich'\n'möchtest?
-
Dann schau dir mal die Schleifen an.
Warum fängst du mal bei 0 und mal bei 1 an?
-
Kleines Beispiel für Matrizenmultiplikation mit Operatorüberladung und Klassentemplates.
-
Arcoth, Dein Code mag zwar richtig sein (hab's nicht ueberprueft), aber fuer den TO ist er sicher keine Hife. Was willst Du damit bezwecken. Ein Einsteiger kann davon wohl kaum etwas lernen (von schlechter Praxis wie includes mitten in den Code zu streuen mal abgesehen)
-
Warum sollte ein Anfänger davon nichts lernen können?
-
Was willst Du damit bezwecken. Ein Einsteiger kann davon wohl kaum etwas lernen
Da hast du wohl Recht. Eigentlich war die Idee, man könnte dem TE näherbringen das ganze mit Klassen und Operatorenüberladung zu verwirklichen. Ist wohl zu krass geworden.
-
Arcoth schrieb:
Ist wohl zu krass geworden.
Indeed
