Frage von bkostvest123, 26

c++ Zahl auf 2 stellen nach komma genau aber wie?

Hallo , In C++ solllen wir ein Programm schreiben das die Quadratwurzel berechnet . Leider wissen mein nachbar und ich nicht wie wir das in die while schreiben sollen.

   do{
   (n+a/n)/2
    
                                                             
                                                    
    }while(n=);    // Hier wissen wir nicht was wir reinschrieben sollen
Antwort
von spaghetticode, 26

So richtig klar ist mir nicht, was du wissen willst und was deine Schleife vor allen Dingen tun soll.

Aber die Zahl der Nachkommastellen kannst du auch ganz einfach für die Ausgabe einschalten:

...
float x = 2.7453192;
cout.precision(2);
cout << x << '\n';
...
Kommentar von spaghetticode ,

Das hat auch den Vorteil, dass deine Kommazahl ihren genaueren Original-Wert behält, falls mit dem noch weitergerechnet werden soll.

Kommentar von bkostvest123 ,
#include using namespace 
std;int main()
{ int a;
int n;
int z;
cout << "Geben sie eine Zahl ein aus der die Quadratwurzel gezogen werden soll." << endl;
cin >> a;
(n=1);
do{
((n+a/n)/2=z) //Fehlermeldung :c
(n=z)
}while(n=2_Stellen_nach_dem_komma_genau);
cout << n << endl;
return 0;}
Kommentar von spaghetticode ,

Ah, verstehe, du willst die manuell berechnen. Da kann ich leider nicht helfen, weil ich den Algorithmus nicht kenne. Mathe ist nicht (mehr) so meine Stärke. :-)

Aber ich hab' trotzdem Anmerkungen:

((n+a/n)/2=z)

Was glaubst du, was diese Zeile tut? Eine Zuweisung funktioniert unter C++ immer so:

variable = wert; // Pseudocode

Außerdem fehlt das abschließende Semikolon.

(n=1);
(n=z)

Auch hier fehlt mindestens ein Semikolon. Außerdem: Warum setzt du die Ausdrücke in Klammern?

Zuguterletzt:

while(n=2_Stellen_nach_dem_komma_genau);

"=" ist der Zuweisungsoperator. Der Vergleichsoperator lautet in C++ "==".

Kommentar von Programm11807 ,

Also erstens wenn du #include (cmath)  nutztst gibt es dazu eine funktion und 2 nutze eine For-Schleife falls sie dir schon bekannt ist und zuletzt die Forrmel zum ausrechnen von Quadratzahlen steht zumindest bei mir im tafelwerk

Antwort
von Omnivore07, 9

ähm, also wenn du die Zahlen aufeinander zulaufen lassen willst, musst du in der whileschleife prüfen ob die beiden Zahlen einen kleineren Abstand als 0,01 haben. Also (n-z <= 0.01)

Oder ist dir der komplette Algo nicht bekannt?

Keine passende Antwort gefunden?

Fragen Sie die Community