Wurzel
-
#include <iostream> #include <math.h> using namespace std; int main() { cout<<"Geben Sie eine Zahl ein! \t"; int intEingabe; cin>>intEingabe; const int quadrat = intEingabe * intEingabe; cout<<"\n"<<quadrat<<"\n\n"; const double wurzel = sqrt( intEingabe); cout<<"\n"<<wurzel<<"\n\n"; system("PAUSE"); return EXIT_SUCCESS; }
-
cmath???
was IST cmath überhaupt...sorry aber...
wo find ich das eigentlich?!
ist das schlimm, dass ich das nicht kenn?
-
Hallo,
Mir ist zwar dein Gedanke nicht ganz klar, den du mit diesem Programm ausdrücken willst, aber:1. Variablen, die lokal definiert werden, haben bei ihrer Definition einen undefinierten Anfangswert. => Du initialisierst intEingabe mit dem undefinierten Wert von intAusgabe * intAusgabe... (der noch dazu später wieder überschrieben wird...)
Btw.: Um quadratwurzeln zu ziehen, kannst du dich auch der Funktion std::sqrt() aus cmath bedienen :).
/edit: man bin ich lahm
...Gruß Caipi
-
<cmath> ist eine Headerdatei.
#include <cmath> int a = 25; int b = std:sqrt(a); // b ist nu 5
-
^^verstehe...und wo sehe ich was alles in der header drinsteht?
-
Öffnen oder nach ner Referenz googeln.
-
und was stimmt hier nun wieder nicht?!
#include <iostream> #include <cmath> using namespace std; int main() { int intEingabe; cout<<"Geben Sie eine Zahl ein: \t"; cin>>intEingabe; int intAusgabe=sqrt(intEingabe); cout<<"Die Wurzel ihrer Zahl betraegt: \t"<<intAusgabe; system("PAUSE"); return EXIT_SUCCESS; }
-
Funktioniert bei mir einwandfrei. Fehlermeldung?
-
ja fehler...
beim kompilieren
ka warum...aber guck´s dir doch selbst an!
-
#include <iostream> #include <cmath> using namespace std; int main() { int intEingabe; cout<<"Geben Sie eine Zahl ein: \t"; cin>>intEingabe; double intAusgabe=sqrt(intEingabe); cout<<"Die Wurzel ihrer Zahl betraegt: \t"<<intAusgabe; system("PAUSE"); return EXIT_SUCCESS; }Versuchs damit. Oder - wenn es denn ein Integer sein muss - mit
int intAusgabe=(int)sqrt(intEingabe);
-
nee, also hilft beides nicht...ähnliche fehlermeldung...
wtf....
-
Es gibt eine Wurzelfunktion für floats und für doubles. Dein Compiler kann sich hier nicht entscheiden welche er verwenden soll. Das geht dann so:
sqrt( static_cast<double>(intEingabe) );Gruß
-
Der Compiler weiss nicht ob er intEingabe in einen float, einen double oder einen long double konvertieren soll. Du musst ihm dabei helfen, z.B. so:
double intEingabe;
-
also das funktioniert nun:
#include <iostream> #include <cmath> using namespace std; int main() { int intEingabe; cout<<"Geben Sie eine Zahl ein: \t"; cin>>intEingabe; double intAusgabe= sqrt( static_cast<double>(intEingabe) ); cout<<"Die Wurzel ihrer Zahl betraegt: \t"<<intAusgabe <<"\n\n"; system("PAUSE"); return EXIT_SUCCESS; }geht´s eigentlich noch unkomplizierter?!
-
Bei mir von Anfang an ja. Ansonsten mach es wie niemand sagt und nimm keine Integer sondern nur double.
-
kk alles klar, ty