Schleifenzähler im Bezug auf...
-
Hallo,...
Betr.. C++ Tutorial
ich habe ein Problem mit dem Schleifenzähler, mir ist zwar klar das "a" so oft mit sich selbst multipliziert wird wie Exponent "b" vorgibt. Aber ich verstehe nicht warum hier erg=1 deklariert ist,und wie ich das im Bezug auf die Schleife "lesen, verstehen muss"...for(int i=0;i<b;i++)..Postinkrement ist klar, wie könnte ich mir das vorstellen im Bezug auf b..?
#include<iostream>
using namespace std;int main()
{
int a;
int b;
int erg=1;
cout<<"Geben sie eine Zahl ein: ";
cin>>a;
cout<<"Und jetzt eine andere: ";
cin>>b;for(int i=0;i<b;i++)
{
erg=erg*a;
}cout<<a<<" hoch "<<b<<" ist "<<erg<<"\n";
}
Vielen Dank
Gruß
Franknborder
-
erg muss mindestens auf 1 gesetzt werden, sonst erhälst du ja immer 0 als Ergebnis. Statt deiner Funktion würd ich aber pow aus cmath.h benutzen, um Potenzen zu berechnen.
-
Davy Crockett V(_)V schrieb:
erg muss mindestens auf 1 gesetzt werden, sonst erhälst du ja immer 0 als Ergebnis. Statt deiner Funktion würd ich aber pow aus cmath.h benutzen, um Potenzen zu berechnen.
nix da, für ein einfaches ab wobei a und b ganzzahlwerte sind ist pow langsamer als ne gute schleife. pow ist aber viel besser wenns um 31,234567 geht
-
Statt deiner Funktion würd ich aber pow aus cmath.h benutzen, um Potenzen zu berechnen.
meinst wohl <cmath>//ohne .h
und wie ich das im Bezug auf die Schleife "lesen, verstehen muss"...for(int i=0;i<b;i++)
?????? was meinst du ??
-
Rehi,...
erklärt mir bitte noch die ersten beiden i des Zählers (i=0;i<b;i++), der zählt doch bis die Eingabe "b" erreicht ist, aber wie genau kann ich mir das vorstellen, ich hänge hier ein wenig....wie kann ich mir dies vorstellen, könnte mir das bitte jemand in einfachen Worten beschreiben....
Gruß
thx
Franknborder
-
int a,b; int erg=1; for(int i=0;i<b;i++) // wenn du die deklaration in der schleife meinst
ist dass gleiche wie
int a,b,i; int erg=1; for(i=0;i<b;i++)
allgemein kann man sagen dass du der variablen i, 0 zuweist (int i=0).
bei jedem schleifedurchlauf wird sie (i) um eins erhöht (i++),
aber nur solange i kleiner b bleibt !! (i<b)
naja bevor also i==b wird bricht die schleife ab