Was bewirkt der (typ) der Variablen hier ??
-
Hab Folgendes zur Annäherung an die Kreiszahl Pi:
#include<iostream> using namespace std; int main() { int max; double pi=1.0, n=2; cin>>max; while(n<max) { pi=pi*((n/(n-1))*(n/(n+1))); n+=2; } cout<<pi*2<<endl; cin.get(); cin.get(); }So wie sie da steht passt es ja.
Wenn ich aber der Variable n den typ 'int n=2' gebe, statt 'double n=2', kommt als Ergebnis immer nur Null.
Woran liegt das eigentlich, was bewirkt es ??
-
Was ergibt
cout<<25/3<<endl;?
Darum ist n/(n+1)==0
-
Der Operator / ist überladen. Das heißt, je nach Operanden ist das entweder eine Ganzzahldivision oder eine Division auf Fließkommazahlen. Das Ergebnis einer Ganzzahldivision ist wieder eine Ganzzahl.
-
Achso.
Sry, war 'ne blöde Frage. Danke, dass ihr trotzdem geantwortet habt.