Hi leute ich hab keine Ahnung wie ich ne Wurzel in C ziehe. Kann mir da vieleicht einer von euch da weiter helfen.
MFG Meph
Mephisto1986 Gast |
Mephisto1986 Gast |
Hi leute ich hab keine Ahnung wie ich ne Wurzel in C ziehe. Kann mir da vieleicht einer von euch da weiter helfen.
MFG Meph
So...ich muss diesen Thread mal eben wieder nach vorne holen.
Mein Programm berechnet bei
pow(9,1/2); --> 1.0000
Warum?
Kannich als Exponent nur Integerzahlen angeben?
Ich wollte ein Programm schreiben. bei dem man angeben muss welche Wurzel man ziehen möchte (zwweite, dritte, usw...)
Aber bei mir kommt überall 1 raus.
Was mach ich falsch?
Das kommt daher, weil du 1/2 geschrieben hast. 1 und 2 sind ganzzahlig, daher wird auch das Ergebnis als ganze Zahl interpretiert (das wäre hier 0). Daher kommt 1 raus. Du kannst also entweder nach double casten:
pow( 9, (double)1 / (double)2 );
oder die Zahlen als double angeben:pow( 9, 1.0 / 2.0 );
// oder halt
pow( 9, 0.5 );
double wurzel(double ausdruck, double grad)
{
double ergebnis;
ergebnis = pow(ausdruck,grad);
return ergebnis;
}
...
float x1;
printf("x1=%f\n", x1=-(p/2)-wurzel(pow(p/2,2)-q,1/2));
« C++: Variable in .txt speichern | Java - HTML Datei auslesen & drucken ODER String mit HTML-Inhalt drucken » | ||