Formel in C++

Aufrufe: 565     Aktiv: 11.11.2021 um 15:09

0

Formel Z= x((13x-5)/2)-(5y+2x/5)

die variablen x und y Vorzeichenbehaftete zahlen diese muss der Benutzer mit cin eingeben Ergebnis z ist eine gleitkommazahl
Ich muss explizite typumwandlunhen benutzen

wie kann ich die Formel in c++ berechnen?

Diese Frage melden
gefragt

Punkte: 10

 
Kommentar schreiben
1 Antwort
0

Ok, explizite Typumwandlung wir auch casting genannt. In C und C++ musst du dem Compiler (fast) immer genau sagen was du willst. Machst du das nicht läuft du Gefahr, dass das Ergebnis nicht stimmt. Es kann also passieren, dass wenn du char + char addierst und die Zahlen zu groß sind, z. B. 127 + 127, das Ergebnis nicht korrekt ist. Es kann dann sein, dass das Ergebnis -2 ist! Deshalb muss der Compiler genau wissen was du von ihm willst. In der Aufgabe sind x und y vorzeichenbehaftete Zahlen. Wahrscheinlich int (oder signed int). Daraus kann der Compiler zunächst keine float machen. Das musst du ihm mitteilen. Beispiel:

float z;
int a, b;
z = (float)a * (float)b;

So kriegt‘s der Compiler in jedem Fall hin. Gruß jobe.

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

könntest du mir ein Beispiel geben wie man es dann von der Formel in c++ umschreibt?
mit a*b hat man doch nicht die Formel wiedergegeben das irritiert mich gerade

  ─   mathe_97 10.11.2021 um 23:29

Naja, ich wollte dir nicht einfach die Aufgabe lösen sondern dir einen Denkanstoß geben. Wenn z= a*b in C++ zur Anweisung z = (float)a * (float)b führt hatte ich gehofft, dass du den Rest hinbekommst. Noch ein Beispiel: z= 2a + b/a wird zu z = (float)2a + float(b)/float(a). Jetzt sollte es doch klappen, oder?

  ─   jobe 11.11.2021 um 06:36

Ah alles klar
danke

  ─   mathe_97 11.11.2021 um 15:09

Kommentar schreiben