Was soll hier bitteschön falsch sein ? :-)
-
Hallo zusammen
Wie ihr vieleicht im Anhang seht habe ich ein kleines Problem mit einem Programm ..
Ich habe schon Stunden verbracht den Fehler zu finden aber alles vergeblich ...
Die Aufgabenstellung:
Berechnen von PI
Erstellen sie ein Programm, das nach der Anzahl Glieder (das sind die Klammer,die durch + und - ZEichen voneinander getrennt sind) fragt, die berechnet werden sollen. dieses sollen berechnet werden und das akuelle pi bei jedem durchlauf ausgeben und sollte so aussehen
Berechnung von PI Wieviele Berechnungsschriitte?> >5 n=1 Pi=4 m=2 Pi=2.66666666667 n=3 Pi=3.46666666667 m=4 Pi=2.89523809524 n=5 Pi=3.33968253968Danke schon im voraus für eure Mühe die ihr aufwendet ... und für weitere Fragen stehe ich natürlicher zur Verfügung ..

/*############################################################################## # Programm-Name: 9.18_.cpp # Beschreibung: Pi berechnen # # Version: 1.0 # Erstellt am: 03.09.07 # Auto: xx # Copyright: xx # # Aenderung: 03.10.07 # ##############################################################################*/ #include <iostream> #include <iomanip> #include <cstdio> using namespace std; int main(void) { int Schritte; double pi; cout <<"Berechnung von Pi" << endl; cout <<"Wieviele Berechnungsschritte?>"; cin >> Schritte; for(int i = 0;i<n; i++) { if(i==0) { pi=1; } else { if((i%2)==1) { pi-= 1.0/((i*2)+1); } else { pi+= 1.0/((i*2)+1); } } cout << "n=" << i+1 << "pi=" << Setprecision(12)<<pi*4<<endl; //Pause cout <<endl<< endl; cout <<"Druecken sie eine belibeige taste ..."; fflush(stdin) getchar() return 0; }
-
Und was ist jetzt das Problem?
Mir fällt nur auf, dass du unten ein paar mal das Semikolon vergessen hast.
-
Der Quellcode selbst ist mal murks, ansonsten scheint es doch zu klappen:
Berechnung von Pi
Wieviele Berechnungsschritte?>100000000
3.14159264359#include <iostream> #include <iomanip> using namespace std; int main(void) { long Schritte; double pi; cout <<"Berechnung von Pi" << endl; cout <<"Wieviele Berechnungsschritte?>"; cin >> Schritte; for(long i = 0;i<Schritte; i++) { if(i==0) { pi=1; } else { if((i%2)==1) { pi-= 1.0/((i*2)+1); } else { pi+= 1.0/((i*2)+1); } } //cout << "n=" << i+1 << "pi=" << pi*4<<endl; } //Pause cout <<std::setprecision(12)<<pi*4<<endl<< endl; return 0; }
-
Danke vielmals für die rasche antwort + die vorschläge ... nur das problem ist das es schlussentlich so aussehen sollte ... ( im cmd)
Berechnung von PI
Wieviele Berechnungsschriitte?> >5
n=1 Pi=4
m=2 Pi=2.66666666667
n=3 Pi=3.46666666667
m=4 Pi=2.89523809524
n=5 Pi=3.33968253968
-
weiss jemand wie ich es so wie bei der abbildung oben hinkriege?
Mein Kollege meint das geht gar nicht ... oder dafür brauchst du ein anderes programm .. :(?
-
also "dein kollege" hat dir sicher mist erzählt.
Ich gehe davon aus, dass du immer den wechsel von n und m bei der ausgabe meinst.
Das ist kein Problem. Du musst nur überprüfen, ob i durch zwei teilbar ist und gibst einen entsprechenden text aus.wenn i durch 2 teilbar
schreibe "m=i Pi=2.66666666667"
sonst
schreibe "n=3 Pi=3.46666666667"obwohl ich allerdings nicht genau weis, was das soll.
-
Mein Kollege meint das deine Lösung nix wert sei ... da man es nicht einbauen kann ... er sagt zudem es sei ummöglich das programm wie oben zu programmieren .. -.-
-
oh sorry ... das sollte immer nx= .... heissen und net m und n ... ^^^^
-
Hallo???
-
Hmmm ...
der Kollege meinte nun folgendes:wenn m = i dann: nächster Schritt
wenn m > i tue nichts
sonst m ausrechnen und erhöhenJetzt blicke ich garnix mehr?!
-
löl .... da hat einer freud mein name zu nehmen???
-
wir müssen "Hans guck in die Luft" faken
"er" muss noch unfreundlicher werden
-
es sollte schon klar sein, dass das auch nur pseudocode war.
-
Dann lass das doch Dein Kollegen machen.
Der scheint ja richtig was auf'm Sender zu haben.
-
Der hat doch eine an der Zitrone, meine Oma lacht auch schon.