Exponent in die Gleichung einfügen! Aber wie?
-
Hallo...
Ich bin noch neu hier in der Programmierwelt.
Die einfachen Sachen krieg ich schon hin, aber wie kann ich z.b. mir"z=x^0,725 * y^0,425" ausrechnen lassen. Hab schon in der Hilfe geguckt, aber nichts haut hin.
Das ist meine Formel (für die Berechnung der Körperoberfläche)
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
double kg, cm, kof;Edit8->Text.ToDouble();
Edit9->Text.ToDouble();if (kg>0); //Halt nur als Bedingung, dass das Feld auch was beeinhalten muss
{
kof=0.007184*(cm0.725)*(kg0.425);
}
Edit10->Text=kof;}
//---------------------------------------------------------------------------so soll die Formel nach meiner Logik ausschauen.
Aber das "^" Zeichen funktioniert nicht.
Und das mit dem frexp oder expl usw. habe ich nicht verstanden. Hat jemand eine andere Lösung oder Tipps für mich, wie ich sowas machen kann bzw. rechnen lassen kann? Das wär echt super... Danke
-
#include <cmath> double a, b, result; a=3.0; b=0.756; //a^b result=pow(a,b); std::cout<<result<<std::endl;
Das ist die C version. Es gibt noch ne C++, die kenne ich aber nicht.
MFG Ghost
-
^ ist in C/C++ der Operator für bitweises XOR, hat mit Potenzen also nichts zu tun. Der Weg über pow ist wohl der einfachste, mir fällt auch grad kein sinnvollerer ein.
Allerdings muss das in Green_Ghosts Code entweder
#include <cmath> #include <iostream> // für std::cout double a, b, result; a = 3.0; b = 0.756; //a^b result = std::pow(a, b); // pow ist in C++ im namespace std std::cout << result << std::endl;
oder
#include <cmath> #include <iostream> // für std::cout using namespace std; // damit das std:: nicht mehr nötig ist double a, b, result; a = 3.0; b = 0.756; //a^b result = pow(a, b); // pow ist in C++ im namespace std cout << result << endl;
heißen.
-
Das hat leider nicht funktioniert.
Das ist doch zum verrückt werden.
Das einfachste krieg ich nicht hin. Echt bitter.Ich will doch nur zum Beispiel 180^0,725 rechnen. Kann doch nicht so schwer sein unter C++ so was zu programmieren oder?
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
double kg, cm, result, expa, expb;kg=Edit8->Text.ToDouble();
cm=Edit9->Text.ToDouble();expa=0.725;
expb=0.425;result=0.007184*(cmexpa)*(kgexpb);
Edit10->Text=result ;
}
//---------------------------------------------------------------------------Kann mir aus dieser Formel keiner was vernünftiges machen.
result=0.007184*(cmexpa)*(kgexpb);
Ich bin verzweifel echt.
-
P3-TeR auf Arbeit schrieb:
Das hat leider nicht funktioniert.
Nicht, dass du es wirklich versucht hättest...
Das ist doch zum verrückt werden.
Das einfachste krieg ich nicht hin. Echt bitter.Bitter ist, dass du nicht in der Lage bist, die Hilfe, die du hier bekommst, umzusetzen.
Ich will doch nur zum Beispiel 180^0,725 rechnen. Kann doch nicht so schwer sein unter C++ so was zu programmieren oder?
Nein, das ist nicht schwierig. Und du hast jetzt schon den Hinweis bekommen, dass du nicht ^ schreiben darfst, sondern die Funktion pow benutzen muss. Warum benutzt du dann immer noch ^?
-
Nein...das benutz ich nicht mehr...
"pow" funktioniert nicht...irgendwas mach ich immer noch falsch.
Es funtkioniert nur mit ganzen Zahlen.Aber sofern ich den Exponenten mit 0,725 definiere setzt er das Ergebnis auf 1.
Egal was jetzt nun "a" wäre oder nicht.Wie sag ich ihm denn, dass er auch Zahlen im Kommabereich nimmt?
-
P3-TeR auf Arbeit schrieb:
Nein...das benutz ich nicht mehr...
Dann zeig uns doch bitte deinen aktuellen Code. Hellsehen können wir nicht.
-
Oh man, bin ich blöd....
Vielen Dank für eure Hilfe...
Ihr wollt garnicht wissen warum es bei mir nicht ging. LOOOL
Das darf man keinen erzählen.Im Quelltext hab ich den Exponenten mit "exp1=0,725" definiert.
Richtig wäre aber "exp1=0.725". *AUTSCH*Im Kommabereich wird ja mit nem Punkt abgetrennt. Bitter oder... ihr dürft mich jetzt alle mal kräftig auslachen.
p.s. Danke für eure Hilfe