wie kann man beliebig viele Matrizenmultiplikationen ausführen ohne das Programm mehrmals zu starten.
-
Beliebig viele Matrizenmultiplikationen heißt für mich, dass du eine Schleife bauen musst, in der der Benutzer gefragt wird, ob er weiter machen will oder nicht.
char ch = 'j'; while(ch == 'j') { // // std::cout<<"Weitermachen? j fuer weiter.\n; std::cin>>ch; }Eventuell wäre noch denkbar, eine Abfrage zu machen, ob mit der aktuellen Matrize weitergerechnet werden soll oder ob zwei neue matrizen eingelesen werden sollen.
gruß
syntax
-
@Sone: ich lerne Programmieren schritt für schritt und ich bin erst im Stoff bei Array und Zeiger
ja aber wo es in der Angabe steht, dass man für die Speicherung der Matrixen maximum 3 Variablen nützen kann und falls ich eine Abfrage mache, ob ich weitermachen soll, dann muss ich doch eine 4.Variable nehmen.
-
[quote="nata"] Verwenden Sie in Ihrem Programm zur Speicherung der Matrizen maximal 3 Variable.
[/b]
Du speicherst in dieser Variable für die Schleife ja keine Matrizen. Also gehts für mich ok.gruß
syntax
-
also du meinst meine ganze for schleifen in while schleife einpacken?
-
oder in
do{}while(1);
da einpacken
Wie ich richtig verstanden habe es soll endlos schleife sein und abbruch nur mit ctrl + c
ich habe versucht so und es funktioniert so, dass man 2 neue Matrixen eingeben muss, aber falls man produkt mit neue matrix multiplizieren soll, muss man nicht 4. Variable für Matrix einführen?
-
nata schrieb:
oder in
do{}while(1);
da einpacken
Wie ich richtig verstanden habe es soll endlos schleife sein und abbruch nur mit ctrl + c
Du kannst auch einfach
for(;;) { ...nehmen... aber das ist jetzt auch egal. Konzentrier dich aufs wesentliche.
-
danke.
Respekt gegenüber euch allen.
Ich habe ganzen tag gebraucht um 2 kleine Codes zu schreiben
mein Gehirn kocht
ich höffe irgendwann wir schneller gehen
-
Jockelx schrieb:
result += matrix1[i][k]*matrix2[k][j];
Und schreib doch besser Funktionen für die Ausgabe, statt den Code die ganze Zeite zu kopieren.es wird doch wert von result immer wieder auf 0 gesetzt. deine Lösung stimmt wirklich aber warum ist verschiedene ergebnisse wenn man result += matrix1[i][k]*matrix2[k][j] und result = matrix1[i][k]*matrix2[k][j] eingibt?
noch dazu diese Algorithmus habe ich von andere Forumsbeitrag. Irgendwie kapiere ich nicht wie man darauf kommt und alleine wurde ich sicher nicht darauf kommen
-
nata schrieb:
es wird doch wert von result immer wieder auf 0 gesetzt.
Nicht innerhalb der k-Schleife. Und das ist auch gut so, denn sonst würde das Ergebnis nicht stimmen.
-
nata schrieb:
warum ist verschiedene ergebnisse wenn man result += matrix1[i][k]*matrix2[k][j] und result = matrix1[i][k]*matrix2[k][j] eingibt?
ist dir klar, was der "+="-Operator macht?
nata schrieb:
noch dazu diese Algorithmus habe ich von andere Forumsbeitrag. Irgendwie kapiere ich nicht wie man darauf kommt und alleine wurde ich sicher nicht darauf kommen
das ist die übliche Matrizenmultiplikation...