C++ Matrizenmultiplikation mit Variablen statt Zahlen

OP #5737849
Lesenswert?

Hallo, ich bin ein C-Neuling und habe gerade mit Visual Studio 17 ein 
Programm geschrieben, welches eine 2x2- mit einer 2x3-Matrix 
multipliziert, mit Falk.

Beispiel:
1    3
2    4
und
0    2    4
1    3    0
wird
3    11   4
4    16   8
das kommt auch raus.

Der Benutzer gibt die Dimensionen der Matrices vorher ein und dann die 
Werte. Die Werte sind (natürlich) vom Typ double. Es wird ebenso 
geprüft, ob die Spaltenanzahl von Mat1 == Zeilenanzahl von Mat2 ist. 
Soweit ist alles klar.

Gibt es eine Möglichkeit zu coden, um unbekannte Variablen einzugeben, 
sodass
1    3
2    4
*
0    2    4
1    3    z
=
3    11   3*z+4
4    16   4*z+8  in der Konsole steht?



Nur so aus Interesse.

Danke
#5737938
Lesenswert?

Denkanstoß: du könntest als Typ std::string nehmen statt double, dann 
statt multiplizieren immer die strings mit * zwischendrin 
aneinanderhängen, und am Schluss (oder zwischendrin) alles evaluieren 
was geht. Das geht natürlich eleganter, aber im Grunde genommen wird es 
auf irgendetwas ähnliches hinauslaufen.
Gast #5738263
Lesenswert?

Mathlab als Lösung? In diesem Fall wäre das Open-Source Programm Maxima 
passender.

Einfach mal anschauen, mit welchen Strategien Maxima das Thema anpackt. 
Isaak Newton sagte: Wir haben weiter gesehen, weil wir auf den Schultern 
von Giganten standen.
Gast #5739357
Lesenswert?

Arno schrieb:
> nichts, was man mal
> eben programmiert.

Eigentlich schon.

Genau sowas war Früher™ im Informatik-Grundstudium, Vorlesung 
"Compilerbau I" eine der früheren Übungsaufgaben.... Noch vor 
flex/bison/yacc, gleich als zweite praktische Anwendung eines 
handgeklöppelten Top-Down-Parsers.

Man muss sich halt erst Gedanken zur Grammatik machen, diese 
niederschreiben, und dann kann man ohne groß Nachzudenken den Quelltext 
raustippen. Und wem das stupide Tippen zuviel ist, der nimmt einen 
Code-Generator dafür.


Schwierig wird's später, wenn du die Formeln lösen willst, nach X 
auflösen, umformen...

Das wurde dann in den Compilerbau-Vorlesungen nur noch oberflächlich 
angekratzt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren